オブジェクト指向意味不明すぎてワロタ

1 名前:一般よりも上級の名無しさん 投稿日時:2020/05/08(金) 15:48:37.694 ID:8xQG42zDp
現実世界と同じようにプログラムを書いていくみたいなこと書いてあったけど
なんだよそれ
抽象的すぎて意味がわからん
2 名前:一般よりも上級の名無しさん 投稿日時:2020/05/08(金) 15:51:07.418 ID:8xQG42zDp
わかる人いる?オブジェクト指向
3 名前:一般よりも上級の名無しさん 投稿日時:2020/05/08(金) 15:51:44.849 ID:SMjbE0zd0
実際は機能というかパーツごとに書いてくだけになる
6 名前:一般よりも上級の名無しさん 投稿日時:2020/05/08(金) 15:56:32.593 ID:8xQG42zDp
>>3
そのパーツとかをどうやって決めるかっていうのがオブジェクト指向なんでしょ?
そこからよくわからん

>>4
javaやってるよ

4 名前:一般よりも上級の名無しさん 投稿日時:2020/05/08(金) 15:52:39.407 ID:fdQqnWZOa
JavaとC++は似て非なるものなり
45 名前:一般よりも上級の名無しさん 投稿日時:2020/05/08(金) 16:58:38.709 ID:PhlvknIQ0
>>4
ありがとう、なるほどやっとしっくり来たかも
5 名前:一般よりも上級の名無しさん 投稿日時:2020/05/08(金) 15:55:59.461 ID:SAtCWSlr0
クラスにスライムの能力と行動パターンを書いて
インスタンス化でマップにスライムを出す
8 名前:一般よりも上級の名無しさん 投稿日時:2020/05/08(金) 15:57:17.865 ID:8xQG42zDp
>>5
インスタンス化がよくわからん
それをするとなんでプログラム書きやすくなるの?
10 名前:一般よりも上級の名無しさん 投稿日時:2020/05/08(金) 16:03:49.606 ID:SAtCWSlr0
>>8
だからマップにスライム出すって言ってるやん
スライムってクラス作って変数でHP=4、攻撃=3って入れたとして
この時点ではスライム出した時にどんなパラメーターになるか書いてるだけやろ
その後スライム3匹出現させるとしたらこのクラスのインスタンスをを3つ作ることになる
11 名前:一般よりも上級の名無しさん 投稿日時:2020/05/08(金) 16:07:39.262 ID:8xQG42zDp
>>10
どうやってスライムを出すの?
15 名前:一般よりも上級の名無しさん 投稿日時:2020/05/08(金) 16:13:10.203 ID:SAtCWSlr0
>>11
安価間違えた
14 名前:一般よりも上級の名無しさん 投稿日時:2020/05/08(金) 16:12:43.803 ID:SAtCWSlr0
>>10
それがインスタンス化って言ってるやろ
クラスがSlimeだったら Slime slimeA = new Slime(); でSlimeAって名前のスライムが出る
7 名前:一般よりも上級の名無しさん 投稿日時:2020/05/08(金) 15:56:58.460 ID:CzyWiPfE0
まだオブジェクト指向やってんのかよ
古いぞ
9 名前:一般よりも上級の名無しさん 投稿日時:2020/05/08(金) 15:57:32.686 ID:8xQG42zDp
>>7
今は何?
12 名前:一般よりも上級の名無しさん 投稿日時:2020/05/08(金) 16:10:44.334 ID:97tl4SgnM
俺も普通の関数とか構造体との違いがよくわからん
17 名前:一般よりも上級の名無しさん 投稿日時:2020/05/08(金) 16:15:21.979 ID:8xQG42zDp
>>12-13
よくわかんないよね…

>>14
普通にクラス呼び出すのと何が違うの?

18 名前:一般よりも上級の名無しさん 投稿日時:2020/05/08(金) 16:18:38.425 ID:SAtCWSlr0
>>17
普通に呼び出すってなんやねん
普通に呼び出すのがインスタンス化だぞ
21 名前:一般よりも上級の名無しさん 投稿日時:2020/05/08(金) 16:21:52.053 ID:8xQG42zDp
>>18
要はクラス呼び出すってだけのこと?
ただそれだけなの?
16 名前:一般よりも上級の名無しさん 投稿日時:2020/05/08(金) 16:14:07.658 ID:SMjbE0zd0
実際のモノ(=オブジェクト)に則したインスタンスを生成するからオブジェクト指向なんよな スライムの例みたいなわかりやすいのだったらいいけど実際は機能を一覧化階層化しただけのクラスを作ることになるクソ
19 名前:一般よりも上級の名無しさん 投稿日時:2020/05/08(金) 16:19:07.489 ID:6o5T3EYD0
インスタンスはいっぱい作れるんだよ
20 名前:一般よりも上級の名無しさん 投稿日時:2020/05/08(金) 16:20:23.319 ID:EEiCPwgGa
リーナスが中指立ててる画像ください
23 名前:一般よりも上級の名無しさん 投稿日時:2020/05/08(金) 16:30:49.584 ID:97tl4SgnM
関数は複数同時に呼び出せないけどクラスならできるとか?
25 名前:一般よりも上級の名無しさん 投稿日時:2020/05/08(金) 16:33:01.162 ID:EEiCPwgGa
言語によって用語の意味が違ってくることがあるのでなんとも言えないが
クラスはただの設計図であって実体はない仮想的な情報で、コンパイラがコンパイル時にのみ使用して、実行バイナリには残らないデータ
設計図の通りに製造した物がインスタンスですよ。これはメモリに実際に居座る、存在する、実体を持つ
26 名前:一般よりも上級の名無しさん 投稿日時:2020/05/08(金) 16:33:16.958 ID:YgiZ/6El0
複数の変数束ねたものをクラスってかんじなの?

クラスのなかに生徒が沢山いるみたいな

33 名前:一般よりも上級の名無しさん 投稿日時:2020/05/08(金) 16:39:15.964 ID:EEiCPwgGa
C++におけるオブジェクト指向の要件は三つ
・カプセル化
・多態性
・継承
38 名前:一般よりも上級の名無しさん 投稿日時:2020/05/08(金) 16:44:24.413 ID:EEiCPwgGa
カプセル化とはライブラリを使う素人が大事なデータ弄って壊さないようにプロテクトをかける機能
継承は洗練された抽象部を基に、差分だけ付け足すことで機能強化版が作れる機能
ポリモーフィズムは、継承の系譜を辿って、文脈によって適切な先祖子孫の位置を特定してそいつになりすまして動く機能
39 名前:一般よりも上級の名無しさん 投稿日時:2020/05/08(金) 16:46:23.019 ID:YgiZ/6El0
軟体動物クラスっての作って
継承してタコクラスつくって差分に足8本
継承して以下クラスは差分に足10本

ポリモーフィズムは難しくてわからない

40 名前:一般よりも上級の名無しさん 投稿日時:2020/05/08(金) 16:46:48.724 ID:EEiCPwgGa
以上3点を満たすのが(C++での)オブジェクト指向です
他の言語になると満たすべき要件が変わってくる可能性があります
46 名前:一般よりも上級の名無しさん 投稿日時:2020/05/08(金) 17:00:22.831 ID:YgiZ/6El0
独特な考え方で混乱するけどすっきりした
47 名前:一般よりも上級の名無しさん 投稿日時:2020/05/08(金) 17:03:59.168 ID:p65U1O2p0
実際に実装すると動かないwwwww
50 名前:一般よりも上級の名無しさん 投稿日時:2020/05/08(金) 17:16:24.845 ID:6yd2sx060
非プログラマーぼく「こいちゅらなにいっちぇんお」
51 名前:一般よりも上級の名無しさん 投稿日時:2020/05/08(金) 17:17:04.405 ID:hRkKCLJY0
あれ?なんか頭こんがらがって来たんだけど親クラスは子クラスのメソッド使えないんだよな?
でも子クラスは親クラスのメソッド使えるんだよな?
でもでも変数の型指定は親クラスにしといたほうが便利なんよな?
52 名前:一般よりも上級の名無しさん 投稿日時:2020/05/08(金) 17:23:50.843 ID:EEiCPwgGa
抽象とは
多くの物事に共通して登場する部分を抜き出す事です

決して小難しくややこしいことを言うという意味ではありません

コメント一覧

タイトルとURLをコピーしました