無理やりオブジェクト指向にしたから出てきた問題を解決して凄い凄い言ってるだけ。
単なるマッチポンプ。
カプセル化(英語:encapsulation)とは、オブジェクト指向を構成する概念の一つで、
オブジェクト内部のデータを隠蔽したり(データ隠蔽)、オブジェクトの振る舞いを隠蔽したり、
オブジェクトの実際の型を隠蔽したりすることをいう。
偏差値の低い学校向けの情報処理系教科書において「大変すばらしいものであり絶対に使うように」と大体的に宣伝された。
一方、カリフォルニア大学バークレー校の有識者を中心としたインターネットを作った人たちは「階層化の有害性」として
「絶対に使うな」としている。大雑把にいうと、その時は良くても、将来的な改修の際に隠蔽されたデータに
アクセスできないと解決できない問題が出てきて、結果的にデスマーチに陥るというのである。
オブジェクト指向の発案者であるアラン・ケイもコーディング規約(頭文字にアンダースコアを付けるなどの命名規則)で
縛る程度にすることを推奨しており、アラン・ケイが関わったオブジェクト指向プログラミング言語にはどれも「private」
という概念はない。
https://monobook.org/wiki/%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96
前前前スレ
オブジェクト指向ってクソじゃね?
https://mevius.5ch.net/test/read.cgi/tech/1535085129/
前前スレ
オブジェクト指向ってクソじゃねぇよ? Part2
https://mevius.5ch.net/test/read.cgi/tech/1539872441/
前スレ
オブジェクト指向ってクソじゃねぇかよPart3
https://mevius.5ch.net/test/read.cgi/tech/1542884872/
オブジェクト指向ってクソじゃねぇかよPart4
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2019/04/28(日) 23:38:35.09ID:URSBxRTf270デフォルトの名無しさん
2019/05/04(土) 21:40:55.93ID:XA9psxEW 継承は型に関係がある
委譲は関係ない
なんでいつも型が出てくるのか
オブジェクト指向そっちのけで型の疑問を解消したいんだが
委譲は関係ない
なんでいつも型が出てくるのか
オブジェクト指向そっちのけで型の疑問を解消したいんだが
271デフォルトの名無しさん
2019/05/04(土) 21:43:53.68ID:eyQzK648 継承も委譲も型とは関係ない
型はプログラミングの論理的不整合を
コンパイラに見つけてもらうための追加機能であって
コンピュータに人間の仕事を肩代わりさせたいなら
型を使って、人間が頑張りたいなら型を使わないだけの話
型はプログラミングの論理的不整合を
コンパイラに見つけてもらうための追加機能であって
コンピュータに人間の仕事を肩代わりさせたいなら
型を使って、人間が頑張りたいなら型を使わないだけの話
272デフォルトの名無しさん
2019/05/04(土) 21:50:28.79ID:Sc3vVUfC 普通はクラスも型に含めるだろ。
そしてクラスと継承は関連する。
そしてクラスと継承は関連する。
273デフォルトの名無しさん
2019/05/04(土) 22:30:19.33ID:Nl+/+Ip0 型って集合のことじゃん
bool型は{true,false}の集合
int型は{0,1,2...}の集合
抽象データ型は関数をその集合に入れられますよってもの
オブジェクト指向言語では抽象データ型を定義できる
実装の継承は値や関数を引き継げる
型の継承は抽象関数を引き継げる
オブジェクト指向における型は値、関数の実装、抽象関数の集合
オブジェクトの定義は型の定義と同義
コンパイル時に型チェックを行うのは静的型付けの説明かな
bool型は{true,false}の集合
int型は{0,1,2...}の集合
抽象データ型は関数をその集合に入れられますよってもの
オブジェクト指向言語では抽象データ型を定義できる
実装の継承は値や関数を引き継げる
型の継承は抽象関数を引き継げる
オブジェクト指向における型は値、関数の実装、抽象関数の集合
オブジェクトの定義は型の定義と同義
コンパイル時に型チェックを行うのは静的型付けの説明かな
274デフォルトの名無しさん
2019/05/04(土) 22:51:35.47ID:Sc3vVUfC >>273
プログラムを数学に関連付けて誤解するバカって多いよね。
プログラムを数学に関連付けて誤解するバカって多いよね。
275デフォルトの名無しさん
2019/05/04(土) 23:24:33.38ID:Nl+/+Ip0 >>274
そうなの?
そうなの?
276デフォルトの名無しさん
2019/05/04(土) 23:28:14.72ID:Sc3vVUfC >>275
オブジェクトを生成するとき、
そのオブジェクトは集合からやってきたとでも思ってるの?
あるクラスのオブジェクトを保持する集合がどこにあると意識してんの?
そもそもお前の中じゃどういうときに集合の存在を意識してんの?
オブジェクトを生成するとき、
そのオブジェクトは集合からやってきたとでも思ってるの?
あるクラスのオブジェクトを保持する集合がどこにあると意識してんの?
そもそもお前の中じゃどういうときに集合の存在を意識してんの?
277デフォルトの名無しさん
2019/05/04(土) 23:33:45.72ID:Nl+/+Ip0278デフォルトの名無しさん
2019/05/04(土) 23:36:17.52ID:Sc3vVUfC279デフォルトの名無しさん
2019/05/04(土) 23:38:32.19ID:Nl+/+Ip0 >>275に書いた「そうなの?」は
単純に「プログラムを数学に関連付けて誤解するバカって多い」
この事実を僕が知らないから聞いてみただけですよ
アンケート取ったわけじゃないだろうし
ベイズ推定的な直感で言っておられるんだろうとは思ったけど
何か具体的なエピーソードトークがあれば披露していただいて
単純に「プログラムを数学に関連付けて誤解するバカって多い」
この事実を僕が知らないから聞いてみただけですよ
アンケート取ったわけじゃないだろうし
ベイズ推定的な直感で言っておられるんだろうとは思ったけど
何か具体的なエピーソードトークがあれば披露していただいて
280デフォルトの名無しさん
2019/05/04(土) 23:40:00.28ID:Nl+/+Ip0 >>278
そうなの?
そうなの?
282デフォルトの名無しさん
2019/05/04(土) 23:52:01.62ID:Nl+/+Ip0283デフォルトの名無しさん
2019/05/04(土) 23:53:59.04ID:MLjSCBQc284デフォルトの名無しさん
2019/05/05(日) 00:00:12.11ID:n5gpFbvN 自分の知ってることに無理やり結びつけて「理解できちゃう俺すげー」
言うのはやっぱり愚かだと思いますよ。
言うのはやっぱり愚かだと思いますよ。
285デフォルトの名無しさん
2019/05/05(日) 00:07:33.18ID:0ZGoSt+d286デフォルトの名無しさん
2019/05/05(日) 00:15:17.29ID:0ZGoSt+d >>270が型とはなんぞや的なことを言ってたから
型は集合でオブジェクトと密接な関係があることを僕なりに説明したつもり
ちなみに型は集合って考えは少数派ではないとも僕は思ってる
ググったらたくさんでてくる
たとえばこれとか
プログラム言語論
http://www.cs.tsukuba.ac.jp/~kam/lecture/plm2017/6.pdf
型は集合でオブジェクトと密接な関係があることを僕なりに説明したつもり
ちなみに型は集合って考えは少数派ではないとも僕は思ってる
ググったらたくさんでてくる
たとえばこれとか
プログラム言語論
http://www.cs.tsukuba.ac.jp/~kam/lecture/plm2017/6.pdf
287デフォルトの名無しさん
2019/05/05(日) 00:16:04.30ID:qgM2q7bL288デフォルトの名無しさん
2019/05/05(日) 00:16:19.14ID:0ZGoSt+d 違う考えをお持ちならそれをご披露いただければ
自分が思う型はこういうものだ的なご意見を拝読したいです
自分が思う型はこういうものだ的なご意見を拝読したいです
289デフォルトの名無しさん
2019/05/05(日) 00:18:20.77ID:0ZGoSt+d >>287
うん・・・なんかごめん。
意識するの意味がわからなくて・・・。
僕には答えられないからこういうときに自分は意識するんだ!的なことをお述べいただければ
あるいは自分は意識しないんだなぜならば型とはこういうものだからやー!的なことをお述べになって
いただければ僕は正座して読むよ
うん・・・なんかごめん。
意識するの意味がわからなくて・・・。
僕には答えられないからこういうときに自分は意識するんだ!的なことをお述べいただければ
あるいは自分は意識しないんだなぜならば型とはこういうものだからやー!的なことをお述べになって
いただければ僕は正座して読むよ
290デフォルトの名無しさん
2019/05/05(日) 00:18:28.00ID:qgM2q7bL291デフォルトの名無しさん
2019/05/05(日) 00:20:03.01ID:qgM2q7bL >>289
「型は集合である」と主張してるのはお前なんだから
お前がプログラムのどういうときに「型は集合である」と意識するのか言えよwww。
俺は意識しない。
それ以上俺から言う必要がなさ過ぎて。
頭悪いなあ。
「型は集合である」と主張してるのはお前なんだから
お前がプログラムのどういうときに「型は集合である」と意識するのか言えよwww。
俺は意識しない。
それ以上俺から言う必要がなさ過ぎて。
頭悪いなあ。
292デフォルトの名無しさん
2019/05/05(日) 00:20:36.74ID:n5gpFbvN >>285
知ってることを周回遅れでさも真実かのように語られた時、
やっぱ愚かだなって思うもんだよ。
どうせhaskellとかあの辺の抽象的な関数型言語からの受け売りでしょ。
自分が偏ってることに少しは気付く努力をしましょうね。
知ってることを周回遅れでさも真実かのように語られた時、
やっぱ愚かだなって思うもんだよ。
どうせhaskellとかあの辺の抽象的な関数型言語からの受け売りでしょ。
自分が偏ってることに少しは気付く努力をしましょうね。
293デフォルトの名無しさん
2019/05/05(日) 00:20:58.81ID:0ZGoSt+d294デフォルトの名無しさん
2019/05/05(日) 00:21:24.11ID:qgM2q7bL295デフォルトの名無しさん
2019/05/05(日) 00:22:32.45ID:qgM2q7bL296デフォルトの名無しさん
2019/05/05(日) 00:24:12.16ID:0ZGoSt+d297デフォルトの名無しさん
2019/05/05(日) 00:26:14.51ID:qgM2q7bL298デフォルトの名無しさん
2019/05/05(日) 00:26:15.52ID:0ZGoSt+d >>294
僕はプログラミングしてるときに「型は集合である」ことを意識する
必要があるとは思ってなくて型とはなんぞやということを
考えたときに集合かなーて思っただけだよ
君はプログラミングしてるときにどう意識してるかが大事だと
思っているわけでしょ、それはわかった
それでは君は型をどう意識してるん?
僕はプログラミングしてるときに「型は集合である」ことを意識する
必要があるとは思ってなくて型とはなんぞやということを
考えたときに集合かなーて思っただけだよ
君はプログラミングしてるときにどう意識してるかが大事だと
思っているわけでしょ、それはわかった
それでは君は型をどう意識してるん?
299デフォルトの名無しさん
2019/05/05(日) 00:27:16.46ID:qgM2q7bL300デフォルトの名無しさん
2019/05/05(日) 00:34:45.97ID:0ZGoSt+d301デフォルトの名無しさん
2019/05/05(日) 00:39:16.18ID:qgM2q7bL302デフォルトの名無しさん
2019/05/05(日) 00:42:30.17ID:0ZGoSt+d >>301
大学の講義資料は僕の言う集合ですよ
君の言う集合は違うん?
君は型は集合ではないんだって立場なんですよね
では君は型をどう説明しますか?
この質問だけだと漠然としてて答えにくいかもしれないので
オブジェクト指向における型とは〜
プログラミングにおける型とは〜
と言ったふうに説明しやすい前提を置いていただいていいですよ
教えてください
大学の講義資料は僕の言う集合ですよ
君の言う集合は違うん?
君は型は集合ではないんだって立場なんですよね
では君は型をどう説明しますか?
この質問だけだと漠然としてて答えにくいかもしれないので
オブジェクト指向における型とは〜
プログラミングにおける型とは〜
と言ったふうに説明しやすい前提を置いていただいていいですよ
教えてください
303デフォルトの名無しさん
2019/05/05(日) 00:43:57.20ID:qgM2q7bL304デフォルトの名無しさん
2019/05/05(日) 00:45:53.25ID:0ZGoSt+d >>303
北海道大学でも同様に型を集合と説明してますよ
理解してないのは君の方かと
抽象データ型
http://kussharo.complex.eng.hokudai.ac.jp/~kurihara/classes/SE/04-abstdatatype.pdf
それはさておき僕の理解とは関係なく君の説明が聞きたいな
君は型というものをどう説明しますか?
北海道大学でも同様に型を集合と説明してますよ
理解してないのは君の方かと
抽象データ型
http://kussharo.complex.eng.hokudai.ac.jp/~kurihara/classes/SE/04-abstdatatype.pdf
それはさておき僕の理解とは関係なく君の説明が聞きたいな
君は型というものをどう説明しますか?
305デフォルトの名無しさん
2019/05/05(日) 00:50:32.51ID:0ZGoSt+d 具体的に説明できないなら
自分がプログラミングするときに型をどう意識してるかを教えていただけると
なんかこうふんわりしてて生意気そうなやわらかさみたいな感覚的なものでも良いですよ
それに対して僕がつまりちんぽということですねと返すから
そこからあと一言いただければ
自分がプログラミングするときに型をどう意識してるかを教えていただけると
なんかこうふんわりしてて生意気そうなやわらかさみたいな感覚的なものでも良いですよ
それに対して僕がつまりちんぽということですねと返すから
そこからあと一言いただければ
306デフォルトの名無しさん
2019/05/05(日) 00:51:45.62ID:qgM2q7bL307デフォルトの名無しさん
2019/05/05(日) 00:52:52.64ID:0ZGoSt+d >>306
どこ読んでるん、ちゃんと読んで!
どこ読んでるん、ちゃんと読んで!
308デフォルトの名無しさん
2019/05/05(日) 00:57:04.20ID:qgM2q7bL >>307
お前が明示しろよ無能。
お前が明示しろよ無能。
309デフォルトの名無しさん
2019/05/05(日) 00:57:55.68ID:0ZGoSt+d 読んでいただいたのはありがたいけど
僕が聞きたいのは君の「型は集合じゃない」という意見だよ
ググればわかるようなまともな考えをここで知りたいとは思ってなくて
君のイカれた意見に興味があるんだよね、君の鉄腕を見せてくれ
僕が聞きたいのは君の「型は集合じゃない」という意見だよ
ググればわかるようなまともな考えをここで知りたいとは思ってなくて
君のイカれた意見に興味があるんだよね、君の鉄腕を見せてくれ
310デフォルトの名無しさん
2019/05/05(日) 01:00:49.46ID:0ZGoSt+d >>308
もう読まなくて良いですよ
僕の考えは十分に示しましたし君がそれをわかろうとしないのは仕方ないことかなと
僕は今夜君の型の説明が聞きたいです
僕は全力で君の意見をわかろうとするんでどうぞよろしくお願いします
もう読まなくて良いですよ
僕の考えは十分に示しましたし君がそれをわかろうとしないのは仕方ないことかなと
僕は今夜君の型の説明が聞きたいです
僕は全力で君の意見をわかろうとするんでどうぞよろしくお願いします
311デフォルトの名無しさん
2019/05/05(日) 01:19:18.18ID:0ZGoSt+d おい鉄腕説明はまだか?
僕は正座して待ってる、足がしびれてきた
これ以上待たせたら虐待で訴える
僕は正座して待ってる、足がしびれてきた
これ以上待たせたら虐待で訴える
312デフォルトの名無しさん
2019/05/05(日) 04:15:03.38ID:2SY3w1vB >>291
> お前がプログラムのどういうときに「型は集合である」と意識するのか言えよwww。
型→完全な円
(円の方程式)
集合→円形をした物
(円形の灰皿、円形の十円玉、円形のルーレット・・・その他身近なイロイロ)
『近似する実在物』を、ある一定の『実在しないひな形』にまとめるのが、オブジェクト指向!
イデアとは最高度に抽象的な完全不滅の真実の実在的存在であり、感覚的事物はその影であるとする。
イデアが存在しているのがイデア界(本質界)で、その陰が投影されているのがわれわれ人間の住む現実界となる。
例えば、現実の世界に、円形をした物はたくさん存在するが、いずれも完全な円ではないし円そのものでもない。
しかし、これらの円の背後には永遠不変で、完璧、かつ抽象的な円のひな型であるイデアがあるとする。
この考え方ってどっかで聞いたことある・・・そうだ!オブジェクト指向の考え方にそっくりなんだ。
オブジェクト指向はクラスという雛形(設計図)があり、クラスを元にして実体を持つオブジェクト
(インスタンス)がポコポコ作られるようなイメージである。
http://aidiary.hatenablog.com/entry/20050430/1114871993
> お前がプログラムのどういうときに「型は集合である」と意識するのか言えよwww。
型→完全な円
(円の方程式)
集合→円形をした物
(円形の灰皿、円形の十円玉、円形のルーレット・・・その他身近なイロイロ)
『近似する実在物』を、ある一定の『実在しないひな形』にまとめるのが、オブジェクト指向!
イデアとは最高度に抽象的な完全不滅の真実の実在的存在であり、感覚的事物はその影であるとする。
イデアが存在しているのがイデア界(本質界)で、その陰が投影されているのがわれわれ人間の住む現実界となる。
例えば、現実の世界に、円形をした物はたくさん存在するが、いずれも完全な円ではないし円そのものでもない。
しかし、これらの円の背後には永遠不変で、完璧、かつ抽象的な円のひな型であるイデアがあるとする。
この考え方ってどっかで聞いたことある・・・そうだ!オブジェクト指向の考え方にそっくりなんだ。
オブジェクト指向はクラスという雛形(設計図)があり、クラスを元にして実体を持つオブジェクト
(インスタンス)がポコポコ作られるようなイメージである。
http://aidiary.hatenablog.com/entry/20050430/1114871993
313デフォルトの名無しさん
2019/05/05(日) 07:38:48.91ID:ukSdQO/a うん、で何が集合なわけ?
314デフォルトの名無しさん
2019/05/05(日) 08:09:56.33ID:2SY3w1vB >01000001011000000000000000000000
コンテキスト(時と場合)によって、チンポが随意筋なのか不随意筋なのかを使い分けような!
「モノ、コンテキスト、役割」の関係は、「モノ、照明、影」で例えられます。
モノに照明を当てると、影が出来上がります。影は、照明を当てる角度により形が異なります。
つまり、照明=コンテキスト、影=役割とすると、
仕事コンテキストでは従業員
家庭コンテキストではお父さん
趣味コンテキストではゲーム制作者
https://qiita.com/MinoDriven/items/2a378a09638e234d8614
>現代的な考え方: データ型=データの集合+演算・処理の集合
>01000001011000000000000000000000
>• int CPUが整数演算に使うなら 1,097,072,640
>• float CPUが実数演算に使うなら 14.25
>• String CPUが文字列処理に使うなら ”槍” とNULL文字
>• その他 CPUが画像処理に使うなら 白黒画像の一部
304 デフォルトの名無しさん 2019/05/05(日) 00:45:53.25 ID:0ZGoSt+d
>>303
北海道大学でも同様に型を集合と説明してますよ
理解してないのは君の方かと
抽象データ型
http://kussharo.complex.eng.hokudai.ac.jp/~kurihara/classes/SE/04-abstdatatype.pdf
それはさておき僕の理解とは関係なく君の説明が聞きたいな
君は型というものをどう説明しますか? 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
コンテキスト(時と場合)によって、チンポが随意筋なのか不随意筋なのかを使い分けような!
「モノ、コンテキスト、役割」の関係は、「モノ、照明、影」で例えられます。
モノに照明を当てると、影が出来上がります。影は、照明を当てる角度により形が異なります。
つまり、照明=コンテキスト、影=役割とすると、
仕事コンテキストでは従業員
家庭コンテキストではお父さん
趣味コンテキストではゲーム制作者
https://qiita.com/MinoDriven/items/2a378a09638e234d8614
>現代的な考え方: データ型=データの集合+演算・処理の集合
>01000001011000000000000000000000
>• int CPUが整数演算に使うなら 1,097,072,640
>• float CPUが実数演算に使うなら 14.25
>• String CPUが文字列処理に使うなら ”槍” とNULL文字
>• その他 CPUが画像処理に使うなら 白黒画像の一部
304 デフォルトの名無しさん 2019/05/05(日) 00:45:53.25 ID:0ZGoSt+d
>>303
北海道大学でも同様に型を集合と説明してますよ
理解してないのは君の方かと
抽象データ型
http://kussharo.complex.eng.hokudai.ac.jp/~kurihara/classes/SE/04-abstdatatype.pdf
それはさておき僕の理解とは関係なく君の説明が聞きたいな
君は型というものをどう説明しますか? 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
315デフォルトの名無しさん
2019/05/05(日) 08:17:15.16ID:qgM2q7bL >>314
今日もまた発狂して一人チンポ芝居かよ。
今日もまた発狂して一人チンポ芝居かよ。
>>269
それは同じ動きのCのコードを作るというだけで、できた C コードはすでに OO ではない可能性があるかと
それは同じ動きのCのコードを作るというだけで、できた C コードはすでに OO ではない可能性があるかと
317デフォルトの名無しさん
2019/05/05(日) 08:35:30.18ID:qgM2q7bL >>317
C++ の時点では OO であっても、それをトランスパイラに通して出てきた C コードは OO ではない、という可能性はあるのでは?
例えば C++ の時点では OO であっても、コンパイラに通して出てきた機械語は OO とは言いがたいでしょう?
C++ の時点では OO であっても、それをトランスパイラに通して出てきた C コードは OO ではない、という可能性はあるのでは?
例えば C++ の時点では OO であっても、コンパイラに通して出てきた機械語は OO とは言いがたいでしょう?
319デフォルトの名無しさん
2019/05/05(日) 09:34:14.58ID:WbdERMwW 少なくとも数学的な集合の性質として
「順番は問わない」集まり
というのがある。これと型との関係は?
「順番は問わない」集まり
というのがある。これと型との関係は?
320デフォルトの名無しさん
2019/05/05(日) 09:56:35.88ID:qgM2q7bL322デフォルトの名無しさん
2019/05/05(日) 11:01:21.21ID:vlft8K2s >>292
一般論として周回遅れマンが紛れ込んだときのベストな対応はスルー
周回遅れを自覚できていないという時点で
そいつの知力にはもはや期待が持てないので
そいつに対して一つのレスも費やしてはならない
この点を見誤ると、周回遅れマンに居座られてしまう
一般論として周回遅れマンが紛れ込んだときのベストな対応はスルー
周回遅れを自覚できていないという時点で
そいつの知力にはもはや期待が持てないので
そいつに対して一つのレスも費やしてはならない
この点を見誤ると、周回遅れマンに居座られてしまう
323デフォルトの名無しさん
2019/05/05(日) 11:27:37.73ID:qgM2q7bL325デフォルトの名無しさん
2019/05/05(日) 11:36:34.86ID:qgM2q7bL >>324
実際にC++をCに変換して確認しりゃいいだろ。
実際にC++をCに変換して確認しりゃいいだろ。
327デフォルトの名無しさん
2019/05/05(日) 11:43:11.75ID:qgM2q7bL >>327
>C++はCの機能だけで作られていた。
機能、という言葉の使い方があいまいですね
・「C++ をトランスパイルした結果が C のコードが出力される」という事実だけでは、C が(委譲とは区別された)継承を記述できるかどうかを示すことはできないのではないでしょうか?
>C++はCの機能だけで作られていた。
機能、という言葉の使い方があいまいですね
・「C++ をトランスパイルした結果が C のコードが出力される」という事実だけでは、C が(委譲とは区別された)継承を記述できるかどうかを示すことはできないのではないでしょうか?
329デフォルトの名無しさん
2019/05/05(日) 11:52:26.46ID:qgM2q7bL330デフォルトの名無しさん
2019/05/05(日) 11:52:29.80ID:b3RuMaKH アップキャストできるから移譲と区別とはならないの?
332デフォルトの名無しさん
2019/05/05(日) 12:33:06.22ID:C9BKoiC3 >>330
ずらしてキャストする関数を作れば
ずらしてキャストする関数を作れば
334デフォルトの名無しさん
2019/05/05(日) 13:29:53.55ID:0ZGoSt+d >>322
一周先の考えでは型とはなんぞや?
一周先の考えでは型とはなんぞや?
335デフォルトの名無しさん
2019/05/05(日) 13:31:39.27ID:0ZGoSt+d >>333
なんで言わないん?
なんで言わないん?
336デフォルトの名無しさん
2019/05/05(日) 14:12:25.72ID:RwNImG1a マシン語に変換された瞬間にOOできてないに変化するってこと?
337デフォルトの名無しさん
2019/05/05(日) 15:40:51.80ID:n5gpFbvN 自分ルール押し付けって奴だね
338デフォルトの名無しさん
2019/05/05(日) 16:09:03.66ID:z2iHj6R4 そう言われるだろうと思って自分でルールを作らなくなるんだろう
自分ではない誰かが作った教科書を読めとしか言わなくなる
自分ではない誰かが作った教科書を読めとしか言わなくなる
>>335
基底クラスA, B とそのメソッド A.f(), B.g()
A, B を多重継承する派生クラス C とメソッド C.h()があったとして
(コード例は >>172)
今 C のインスタンス c に対して
c.f() と c.h() の両方を実行したいとき c の this から
c 内の A のために this を作り c.f() を呼ぶ…@
c 内の B のために this を作り c.h() を呼ぶ…A
@Aのどちらかあるいは両方について、c の this をずらして基底クラスの this を作らないといけません
>>172 の C++ では c->f() や c->h() とお気楽にかけるのに、C では、チマチマと this にオフセットを「人間が数えて」足し込むコードを書かなくっちゃいけない
そんな体たらくじゃ C では多重継承は書けないのと同等ですね
基底クラスA, B とそのメソッド A.f(), B.g()
A, B を多重継承する派生クラス C とメソッド C.h()があったとして
(コード例は >>172)
今 C のインスタンス c に対して
c.f() と c.h() の両方を実行したいとき c の this から
c 内の A のために this を作り c.f() を呼ぶ…@
c 内の B のために this を作り c.h() を呼ぶ…A
@Aのどちらかあるいは両方について、c の this をずらして基底クラスの this を作らないといけません
>>172 の C++ では c->f() や c->h() とお気楽にかけるのに、C では、チマチマと this にオフセットを「人間が数えて」足し込むコードを書かなくっちゃいけない
そんな体たらくじゃ C では多重継承は書けないのと同等ですね
340デフォルトの名無しさん
2019/05/05(日) 18:51:56.99ID:0ZGoSt+d >>339
それはC言語がオブジェクト指向プログラミング言語ではないと
言ってるに過ぎないと思うの
手でちまちまと書く、というのを「OO できている」とはいわないのはどうしてなん?
オブジェクト指向プログラミング言語でプログラミングすることだけを
オブジェクト指向と言うん? それはどうしてなん?
オブジェクト指向は考え方であって手段として手書きするのか
言語の機能を使うのかはどちらでも良いと思うのだけれども
どうして多重継承を言語としてサポートすることが大事だと思うん?
それはC言語がオブジェクト指向プログラミング言語ではないと
言ってるに過ぎないと思うの
手でちまちまと書く、というのを「OO できている」とはいわないのはどうしてなん?
オブジェクト指向プログラミング言語でプログラミングすることだけを
オブジェクト指向と言うん? それはどうしてなん?
オブジェクト指向は考え方であって手段として手書きするのか
言語の機能を使うのかはどちらでも良いと思うのだけれども
どうして多重継承を言語としてサポートすることが大事だと思うん?
341デフォルトの名無しさん
2019/05/05(日) 18:52:30.16ID:0ZGoSt+d なんでなん?
>>340
>それはC言語がオブジェクト指向プログラミング言語ではないと
>言ってるに過ぎないと思うの
であれば、それが私の言いたいことそのものですね、問題ないのではないでしょうか?
>手でちまちまと書く、というのを「OO できている」とはいわないのはどうしてなん?
手でちまちまと、すなわち手動で this を作らないといけないようではオブジェクト指向はできてないでしょうね…
>オブジェクト指向プログラミング言語でプログラミングすることだけをオブジェクト指向と言うん? それはどうしてなん?
そうはいってませんよ、単に C でオブジェクト指向にのっとったプログラミングはできない(なぜならばオブジェクト指向の重要な要素である継承が実現できないから)、といっているだけです
>オブジェクト指向は考え方であって手段として手書きするのか言語の機能を使うのかはどちらでも良いと思うのだけれども
>どうして多重継承を言語としてサポートすることが大事だと思うん?
多重継承を例にするのがわかりやすいから、多重継承を例にしただけです。
>それはC言語がオブジェクト指向プログラミング言語ではないと
>言ってるに過ぎないと思うの
であれば、それが私の言いたいことそのものですね、問題ないのではないでしょうか?
>手でちまちまと書く、というのを「OO できている」とはいわないのはどうしてなん?
手でちまちまと、すなわち手動で this を作らないといけないようではオブジェクト指向はできてないでしょうね…
>オブジェクト指向プログラミング言語でプログラミングすることだけをオブジェクト指向と言うん? それはどうしてなん?
そうはいってませんよ、単に C でオブジェクト指向にのっとったプログラミングはできない(なぜならばオブジェクト指向の重要な要素である継承が実現できないから)、といっているだけです
>オブジェクト指向は考え方であって手段として手書きするのか言語の機能を使うのかはどちらでも良いと思うのだけれども
>どうして多重継承を言語としてサポートすることが大事だと思うん?
多重継承を例にするのがわかりやすいから、多重継承を例にしただけです。
343デフォルトの名無しさん
2019/05/05(日) 19:04:45.27ID:0ZGoSt+d >>342
君はオブジェクト指向プログラミング言語でプログラミングすることを
オブジェクト指向ができていると表現してるわけだね
C言語は多重継承をサポートしていないという事実から
C言語はオブジェクト指向プログラミング言語ではないを導き
C言語ではオブジェクト指向できてないを導出したわけですね
自明ですが、論理とは自明の積み重ねですからね
そういうの大事だと思います
君はオブジェクト指向プログラミング言語でプログラミングすることを
オブジェクト指向ができていると表現してるわけだね
C言語は多重継承をサポートしていないという事実から
C言語はオブジェクト指向プログラミング言語ではないを導き
C言語ではオブジェクト指向できてないを導出したわけですね
自明ですが、論理とは自明の積み重ねですからね
そういうの大事だと思います
344デフォルトの名無しさん
2019/05/05(日) 19:15:32.32ID:0ZGoSt+d 僕の考えるオブジェクト指向はこうです
オブジェクト指向とはオブジェクトを主要なものとしてシステムを作ることです
オブジェクトとは状態と振る舞いのセットです
分析や設計の段階でオブジェクト指向で考えることができますし
C言語や継承の機能を持たない古いVBでもオブジェクト指向を適用可能です
要件を満たすにはこういうオブジェクトが必要だ
この状態はこのオブジェクトが持つべきだ
この振る舞いはこのオブジェクトが持つべきだと
考えるのがオブジェクト指向なのです
オブジェクト指向とはオブジェクトを主要なものとしてシステムを作ることです
オブジェクトとは状態と振る舞いのセットです
分析や設計の段階でオブジェクト指向で考えることができますし
C言語や継承の機能を持たない古いVBでもオブジェクト指向を適用可能です
要件を満たすにはこういうオブジェクトが必要だ
この状態はこのオブジェクトが持つべきだ
この振る舞いはこのオブジェクトが持つべきだと
考えるのがオブジェクト指向なのです
345デフォルトの名無しさん
2019/05/05(日) 19:22:05.60ID:0ZGoSt+d 大事MANブラザーズバンドが昔
負けない事・投げ出さない事・逃げ出さない事・信じ抜く事 それが一番大事と歌いましたが
それを歌った本人は後年どれも大事じゃなかったと言いました
良い話です
オブジェクト指向プログラミング言語がもつ機能として
・カプセル化
・多態性
・継承
これらが提唱されてはいますが
オブジェクト指向にとってどれも大事じゃないです
良い話ですね
負けない事・投げ出さない事・逃げ出さない事・信じ抜く事 それが一番大事と歌いましたが
それを歌った本人は後年どれも大事じゃなかったと言いました
良い話です
オブジェクト指向プログラミング言語がもつ機能として
・カプセル化
・多態性
・継承
これらが提唱されてはいますが
オブジェクト指向にとってどれも大事じゃないです
良い話ですね
346デフォルトの名無しさん
2019/05/05(日) 19:22:33.16ID:0ZGoSt+d お前ら涙拭けよ
347デフォルトの名無しさん
2019/05/05(日) 19:36:01.70ID:1Pm7tIcB オブジェクト指向ってなんなのかもわからない人だらけで、クラスこととだと思ってる奴が未だに大勢いるからな
最近じゃクラスを持たないオブジェクト指向言語が使われ出してきていて誤解も減ってきてる気はするけど
最近じゃクラスを持たないオブジェクト指向言語が使われ出してきていて誤解も減ってきてる気はするけど
348デフォルトの名無しさん
2019/05/05(日) 20:16:31.15ID:6ho6Zive クラスを持たないオブジェクト指向言語って具体的にはどれ?
349デフォルトの名無しさん
2019/05/05(日) 20:20:35.27ID:yGiei76k 昔のJavaScript
>>343
>君はオブジェクト指向プログラミング言語でプログラミングすることを
>オブジェクト指向ができていると表現してるわけだね
いいえ、OO な言語でなくても OO で記述できる範囲を代替できれば、それも「オブジェクト指向ができている」とします。
ただし C 言語は単一であっても継承を委譲と区別して記述できない…@
継承は OO では基本的な考え方、枠組みである…A
@Aより C 言語では OO 的な記述はできない
となります
>C言語は多重継承をサポートしていないという事実から
>C言語はオブジェクト指向プログラミング言語ではないを導き
>C言語ではオブジェクト指向できてないを導出したわけですね
多重継承だけではなく、単一継承も C では不可能、とします。
なぜならば、
構造体の第一メンバのアドレスと、構造体そのもののアドレスが一致するとは限らない…B
構造体の各メンバの物理的な順序はプログラマから指定することはできない、構造体テンプレートごとにシャッフルされても文句はいえない…C
>君はオブジェクト指向プログラミング言語でプログラミングすることを
>オブジェクト指向ができていると表現してるわけだね
いいえ、OO な言語でなくても OO で記述できる範囲を代替できれば、それも「オブジェクト指向ができている」とします。
ただし C 言語は単一であっても継承を委譲と区別して記述できない…@
継承は OO では基本的な考え方、枠組みである…A
@Aより C 言語では OO 的な記述はできない
となります
>C言語は多重継承をサポートしていないという事実から
>C言語はオブジェクト指向プログラミング言語ではないを導き
>C言語ではオブジェクト指向できてないを導出したわけですね
多重継承だけではなく、単一継承も C では不可能、とします。
なぜならば、
構造体の第一メンバのアドレスと、構造体そのもののアドレスが一致するとは限らない…B
構造体の各メンバの物理的な順序はプログラマから指定することはできない、構造体テンプレートごとにシャッフルされても文句はいえない…C
>>344
>要件を満たすにはこういうオブジェクトが必要だ
>この状態はこのオブジェクトが持つべきだ
>この振る舞いはこのオブジェクトが持つべきだと
>考えるのがオブジェクト指向なのです
これを@とします
@は
オブジェクト指向「的」に記述する
というなら許容できますが、オブジェクト指向そのものではないと思いますね
>要件を満たすにはこういうオブジェクトが必要だ
>この状態はこのオブジェクトが持つべきだ
>この振る舞いはこのオブジェクトが持つべきだと
>考えるのがオブジェクト指向なのです
これを@とします
@は
オブジェクト指向「的」に記述する
というなら許容できますが、オブジェクト指向そのものではないと思いますね
352デフォルトの名無しさん
2019/05/05(日) 20:50:36.49ID:V2nyw4fH 人とか動物、鉛筆やボールペンならよく分かるんだが、実際のプログラムになると何がオブジェクトなのか途端に分からなくなる。
353デフォルトの名無しさん
2019/05/05(日) 20:53:26.28ID:dlXoi6fS >>340
>どうして多重継承を言語としてサポートすることが大事だと思うん?
随意筋 不随意筋
↖ ↗
チンポ
『継承』は、子クラス➡親クラス。
多重継承を否定できないのは、この現実世界においては、状況によって相反する属性が現れるから。
特に機械翻訳においては、文脈によってコトバの属性を選択しなければならない。
>どうして多重継承を言語としてサポートすることが大事だと思うん?
随意筋 不随意筋
↖ ↗
チンポ
『継承』は、子クラス➡親クラス。
多重継承を否定できないのは、この現実世界においては、状況によって相反する属性が現れるから。
特に機械翻訳においては、文脈によってコトバの属性を選択しなければならない。
354デフォルトの名無しさん
2019/05/05(日) 20:58:11.78ID:n5gpFbvN >>352
実際のプログラムではそういったビジネス要件のクラスと
メモリ、データベース、ネットワークアクセスを上手くマッピングするレイヤーが
必要になるからな。
オブジェクト指向が役に立つ場面もあるが邪魔になる場面もある。
実際のプログラムではそういったビジネス要件のクラスと
メモリ、データベース、ネットワークアクセスを上手くマッピングするレイヤーが
必要になるからな。
オブジェクト指向が役に立つ場面もあるが邪魔になる場面もある。
355デフォルトの名無しさん
2019/05/05(日) 21:02:01.59ID:9yEU0+xl 多重継承をサポートしてる言語って
C++以外だと何がある?
C++以外だと何がある?
356デフォルトの名無しさん
2019/05/05(日) 21:12:22.54ID:0ZGoSt+d357デフォルトの名無しさん
2019/05/05(日) 21:17:47.84ID:0ZGoSt+d358デフォルトの名無しさん
2019/05/05(日) 21:41:28.11ID:uNdN3SuK >>357
Javaで言うとクラスの多重継承の意味で聞きたかった
Javaで言うとクラスの多重継承の意味で聞きたかった
359デフォルトの名無しさん
2019/05/05(日) 21:43:00.38ID:0ZGoSt+d >>352
プログラムで何をやるのかによって
変わってくるんじゃないかと
ソフトウェアが処理の対象にする分野はドメインと呼ばれるけれども
オブジェクトはドメインによって変わってくるかと
たとえば表計算というドメインでは「行」という概念があり「列」という
概念があり「セル」という概念があってそれぞれ状態や振る舞いを持つじゃん
ファイルはデータを読んで分析するというドメインでは「データソース」になるし
処理したデータを永続化するというドメインでは「データストア」になるし
データを連携するというドメインでは「連携データ」になる
てな具合で
ソフトウェアが解決しようとしてるドメインを考えることによって
こういう概念があるとシステムがわかりやすいよね
処理しやすいよねって考えるのがいんじゃないかなと思いました
プログラムで何をやるのかによって
変わってくるんじゃないかと
ソフトウェアが処理の対象にする分野はドメインと呼ばれるけれども
オブジェクトはドメインによって変わってくるかと
たとえば表計算というドメインでは「行」という概念があり「列」という
概念があり「セル」という概念があってそれぞれ状態や振る舞いを持つじゃん
ファイルはデータを読んで分析するというドメインでは「データソース」になるし
処理したデータを永続化するというドメインでは「データストア」になるし
データを連携するというドメインでは「連携データ」になる
てな具合で
ソフトウェアが解決しようとしてるドメインを考えることによって
こういう概念があるとシステムがわかりやすいよね
処理しやすいよねって考えるのがいんじゃないかなと思いました
360デフォルトの名無しさん
2019/05/05(日) 21:43:22.15ID:0ZGoSt+d >>358
それを言ったつもりだす
それを言ったつもりだす
361デフォルトの名無しさん
2019/05/05(日) 21:53:35.11ID:uNdN3SuK362デフォルトの名無しさん
2019/05/05(日) 21:57:42.22ID:2SY3w1vB >>358
>Javaで言うとクラスの多重継承の意味で聞きたかった
随意筋 不随意筋
↖ ↗
チンポ
『継承』は、子クラス➡親クラス。
多重継承を否定できないのは、この現実世界においては、状況によって相反する属性が現れるから。
特に機械翻訳においては、文脈によってコトバの属性を選択しなければならない。
>Javaで言うとクラスの多重継承の意味で聞きたかった
随意筋 不随意筋
↖ ↗
チンポ
『継承』は、子クラス➡親クラス。
多重継承を否定できないのは、この現実世界においては、状況によって相反する属性が現れるから。
特に機械翻訳においては、文脈によってコトバの属性を選択しなければならない。
363デフォルトの名無しさん
2019/05/05(日) 22:18:36.49ID:0ZGoSt+d364デフォルトの名無しさん
2019/05/05(日) 23:16:17.25ID:qgM2q7bL365デフォルトの名無しさん
2019/05/06(月) 03:44:51.02ID:CTjazNaS 肉眼で見れば『空っぽ』のサンプル容器だが・・・
2010年6月に小惑星探査機「はやぶさ」が帰還しました。11月になって持ち帰った岩石質の微粒子が
小惑星イトカワ由来と分かり、大変に注目され、また意気も上がりました。これはサンプルキャッチャー
と呼ばれる帰還したサンプル容器の内側を特殊なヘラで触って集めた約3300個のうち、
人工物(主としてアルミ片)を除いた約1500個の岩石質極微小粒子(大部分が10μm
[マイクロメートル、1μm=1mmの1000分の1]以下)の組成を調べて
分かったことです(図1におおよその鉱物組成比を示す)。
http://www.isas.jaxa.jp/j/forefront/2011/fujimura/
観測の仕方について、同じオブジェクトでも全く違う物になりうる!
>現代的な考え方: データ型=データの集合+演算・処理の集合
>01000001011000000000000000000000
>• int CPUが整数演算に使うなら 1,097,072,640
>• float CPUが実数演算に使うなら 14.25
>• String CPUが文字列処理に使うなら ”槍” とNULL文字
>• その他 CPUが画像処理に使うなら 白黒画像の一部
2010年6月に小惑星探査機「はやぶさ」が帰還しました。11月になって持ち帰った岩石質の微粒子が
小惑星イトカワ由来と分かり、大変に注目され、また意気も上がりました。これはサンプルキャッチャー
と呼ばれる帰還したサンプル容器の内側を特殊なヘラで触って集めた約3300個のうち、
人工物(主としてアルミ片)を除いた約1500個の岩石質極微小粒子(大部分が10μm
[マイクロメートル、1μm=1mmの1000分の1]以下)の組成を調べて
分かったことです(図1におおよその鉱物組成比を示す)。
http://www.isas.jaxa.jp/j/forefront/2011/fujimura/
観測の仕方について、同じオブジェクトでも全く違う物になりうる!
>現代的な考え方: データ型=データの集合+演算・処理の集合
>01000001011000000000000000000000
>• int CPUが整数演算に使うなら 1,097,072,640
>• float CPUが実数演算に使うなら 14.25
>• String CPUが文字列処理に使うなら ”槍” とNULL文字
>• その他 CPUが画像処理に使うなら 白黒画像の一部
366デフォルトの名無しさん
2019/05/06(月) 03:51:02.37ID:CTjazNaS367デフォルトの名無しさん
2019/05/06(月) 03:55:10.11ID:+kTw1En3368デフォルトの名無しさん
2019/05/06(月) 04:03:28.51ID:CTjazNaS >>340
>どうして多重継承を言語としてサポートすることが大事だと思うん?
同一オブジェクトであっても、『視点』が変わると全然違う『属性』が表れてくるから。
新幹線の座席で寝ている人は、時速200キロで移動しながら寝ているのだぞ?
>どうして多重継承を言語としてサポートすることが大事だと思うん?
同一オブジェクトであっても、『視点』が変わると全然違う『属性』が表れてくるから。
新幹線の座席で寝ている人は、時速200キロで移動しながら寝ているのだぞ?
369デフォルトの名無しさん
2019/05/06(月) 04:40:25.91ID:+kTw1En3■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★6 [ぐれ★]
- 「日の丸にバツ印」掲げた大学生 あいまいな国旗損壊罪に「怖い」 The Mainichi [少考さん★]
- 高市内閣「支持」64%「不支持」19% NHK世論調査 ★2 [少考さん★]
- 【音楽】BARBEE BOYS・KONTAが事故で四肢麻痺を公表、新体制で活動は継続 [少考さん★]
- 高市首相「多様なコメの増産を進める」 方針転換への懸念払拭狙いか ★2 [どどん★]
- 中国「捜索レーダー起動は各国の通常の手法」 火器管制用か回答せず [蚤の市★]
- 初めて顔パックしたけど凄いなこれ
- ぺこーら、地震で同僚が次々配信を止めるなか強行し続けるので悪目立ちするwww [268244553]
- 巨大地震 [957955821]
- 胃腸弱い奴は社会的弱者←ガチ
- 【🏡】岩手ビックウェーブ🏄うおおおおおおおおおおお🌊
- 千晴の住所教えてよ!
