job_programmer
1: 以下、5ちゃんねるからVIPがお送りします
JSとかPythonとかJava以前に作られた言語やってるやつに多い気がする

2: 以下、5ちゃんねるからVIPがお送りします
あとRust信者

3: 以下、5ちゃんねるからVIPがお送りします
え?Go言語にオブジェクト指向いらんけど
てか適応できんけど

4: 以下、5ちゃんねるからVIPがお送りします
>>3
マイクロサービスならいけんじゃね?
大規模になると無理でしょ

5: 以下、5ちゃんねるからVIPがお送りします
GUIは継承ないとつらい・・

7: 以下、5ちゃんねるからVIPがお送りします
>>5
わかる

6: 以下、5ちゃんねるからVIPがお送りします
てか思うんだが継承できないとか終わってね?
同じようなコードもう一回書くの?

24: 以下、5ちゃんねるからVIPがお送りします
>>6
構造体が構造体を継承するんじゃなくて、構造体とそれが満たすべき条件がある

30: 以下、5ちゃんねるからVIPがお送りします
>>24

構造体と似たようなもの作りたい場合どうしてんだ?

36: 以下、5ちゃんねるからVIPがお送りします
>>30
Rustの話なら、構造体は機能として存在する
ただしそれはカプセル化とか継承とかをするクラスとは別の概念として存在してる
関数型の話なら、例えば構造体Tがint型をメンバに持つって、つまり型Tに対して関数T→intがプリセットされてるって意味でしょ?

41: 以下、5ちゃんねるからVIPがお送りします
>>36
すまんめちゃくちゃわかりにくいんだが…

42: 以下、5ちゃんねるからVIPがお送りします
>>41
どのへんが分かりにくい?

45: 以下、5ちゃんねるからVIPがお送りします
>>42
Rust←別の概念として存在する←じゃあどうやってクラス内のメソッドを呼び出したり継承させてんだ???
関数型に関してはそもそもどんな方法でコーディングするのかわからんからいきなり関数体がどうこう言われてもわからん
関数体Tは関数Tと違うの?
関数体ってオブジェクト指向的にはどんな感じになんの?
関数体 Hage()
{
int a;
int b;
}
みたいな?

52: 以下、5ちゃんねるからVIPがお送りします
>>45
関数体って何?

55: 以下、5ちゃんねるからVIPがお送りします
>>52
すまん構造体Tだったわ

59: 以下、5ちゃんねるからVIPがお送りします
>>45
まず、クラスって型の一種だよね
で、クラスTがint型のメンバを持つって、つまり型Tの値を引数に取ってintの値を返す関数が定義されてるって意味だよね
じゃあ型Tの変数の定義時にそういう関数の値が何になるか宣言させれば十分だよね

メソッドも、第一引数にクラスを取る関数のことだよね
じゃあ関数を定義すればいいね

継承は必要ないよね

61: 以下、5ちゃんねるからVIPがお送りします
>>59
何を言ってるのかほんとわからんのだが
なんか例書いてくれんか?

63: 以下、5ちゃんねるからVIPがお送りします
>>61
スマホでコード書きたくない

クラスは型
クラスTがint型のメンバを持つとは、つまり関数T→intが存在するということ
ここまでは分かる?

66: 以下、5ちゃんねるからVIPがお送りします
>>63
まずそこからわからんからコードで例を見せてほしいんだわ

8: 以下、5ちゃんねるからVIPがお送りします
下回り書いてるとクラスが必要な機会が少ないんじゃね
知らんけど

10: 以下、5ちゃんねるからVIPがお送りします
>>8
下回りとは?

9: 以下、5ちゃんねるからVIPがお送りします
GoとかRustって流石にクラスをインスタンス化してそのメソッド呼び出してるよな?流石に?

11: 以下、5ちゃんねるからVIPがお送りします
機能ごとにクラス分けたほうが管理しやすいと思うんだが
クラス無くて良いっていう人はどうやって機能使ってんの?

20: 以下、5ちゃんねるからVIPがお送りします
>>11
構造体で良くない?

23: 以下、5ちゃんねるからVIPがお送りします
>>20
そもそもなんだが構造体にメソッドって入るの?
構造体使ったこと無いしだいたいデータ入れるようとしか思ったこと無いからわからん

27: 以下、5ちゃんねるからVIPがお送りします
>>23
関数ポインタとかだと自分の属する構造体のメンバにアクセスできないかも。
まあ、クラスと言うか、型定義がされた構造体的なものがあって、メンバが関数であれば属するメンバ変数の操作ができればいいよね。
OOPはいらない。

32: 以下、5ちゃんねるからVIPがお送りします
>>27

構造体にメソッドは入らないってこと?
string a {get a;
set a+2;}的なことしてa+2の関数を呼出してるって意味か?

35: 以下、5ちゃんねるからVIPがお送りします
>>32
Cの構造体だと関数ポインタでメソッドみたいなことができなくはない。めんどくさいけど。
どんな言語でも構造体的なものはあるから、OOPである必要はないってこと。構造体的なもののメンバとして関数や変数があるだけ。

40: 以下、5ちゃんねるからVIPがお送りします
>>35
めんどくさいならクラスにメソッド入れればよくね?と思わなくもない
そっちのほうが楽じゃね?

12: 以下、5ちゃんねるからVIPがお送りします
OOPとかクソだろ
時代はFP

18: 以下、5ちゃんねるからVIPがお送りします
>>12
やったこと無いんだがどんな感じでやんの?
クラス作ってその中にメソッド作ってクラスをインスタンス化してからそのメソッド使うじゃん?OPPだと
FPだとどうなるの?

13: 以下、5ちゃんねるからVIPがお送りします
おまえら今日プログラミングの話なんてしてどうした

14: 以下、5ちゃんねるからVIPがお送りします
手続き型という言葉すら知らない世代か

15: 以下、5ちゃんねるからVIPがお送りします
ちっちゃいファーム書くくらいならまあ要らないかなって感じ
そもそも使えない事も多いけど

16: 以下、5ちゃんねるからVIPがお送りします
webアプリとかの細かいチビっちゃいプログラムにはいらないだろうな

17: 以下、5ちゃんねるからVIPがお送りします
どこ修正すれば良いかわかんないから、とりあえず基底クラスに機能追加するの

19: 以下、5ちゃんねるからVIPがお送りします
>>17
あるあるっちゃあるあるだが…

21: 以下、5ちゃんねるからVIPがお送りします
FPってなんだ?
とりあえず同じファイル内に関数羅列していってメイン関数でその作った関数を順次呼び出していくの?

22: 以下、5ちゃんねるからVIPがお送りします
オブジェクト指向プログラミング未だにわからないVBAすら手続き型しか書けない

29: 以下、5ちゃんねるからVIPがお送りします
>>22
どんまい
クラスを実体化(インスタンス化)させてそのグラス内のメソッドを使用することだと簡単に思っていればいい
例えばファイルを開くとき
Dim wb As Workbooks
wb.Open ファイル名
とすると思うが
Dim wb As Workbooksの部分でWorkbooksクラスをインスタンス化している
でwbはそのインスタンス化した名前で
wb.OpenでWorkbooksクラス内のOpenメソッドを使うようにしてるわけ
オブジェクト指向はこれを更に高度にしたやつだけどこれが理解できればオブジェクト指向なんてすぐ理解できる

34: 以下、5ちゃんねるからVIPがお送りします
>>29
まだ理解足りないが考えてみる
あとメソッドとプロパティの使い分けが全く分からん

39: 以下、5ちゃんねるからVIPがお送りします
>>34
メソッドは行動、プロパティは値ってイメージ
例えばHageクラス側にプロパティ aがあってPlusメソッドでa+2にするメソッドであったとしよう
Dim hage As Hage←Hageクラスをインスタンス化
int result = hoge.a←hogeクラスのaの値を呼び出す。今回は値に何も変化がないので0のはず
hoge.Plus←Plusメソッドを実行aプロパティに+2を足したので0+2=2となる
int result2 = hoge.a←2となる

47: 以下、5ちゃんねるからVIPがお送りします
>>39
>メソッドは行動、プロパティは値ってイメージ
それは分かる
C++とVBAしか知らないけどプロパティに直接代入して挙動変わるのいっぱいあるじゃん
あれとメソッドの違いが判らん

50: 以下、5ちゃんねるからVIPがお送りします
>>47
すまんプロパティに直接代入してってのがわからん
ちょっと例を上げてくれたら助かる

54: 以下、5ちゃんねるからVIPがお送りします
>>50
プログラミングからかなり離れてるからすぐ例が出ない
もう寝るし手間だからいいや

57: 以下、5ちゃんねるからVIPがお送りします
>>54
了解
ありがとう

25: 以下、5ちゃんねるからVIPがお送りします
継承なんてしちめんどくさい悪習は淘汰されて当然。
ソース管理がしっちゃかめっちゃかになるからな。
結局ほぼ同じ名前だけ変えた別ソースを作って管理するはめになる。
スーパークラス触るなんて立ち上げ当初くらい。

28: 以下、5ちゃんねるからVIPがお送りします
>>25
継承は禁止で良いと思う

31: 以下、5ちゃんねるからVIPがお送りします
>>25
なるほど継承じゃなく同じコードを2回書いて付け足す方法がGoやRustで取り入れられてるわけね
めんどくせってなるけどまぁ君等が良いなら良いと思う

26: 以下、5ちゃんねるからVIPがお送りします
OOPはウンチだと思う。
継承とかゴミすぎる。

33: 以下、5ちゃんねるからVIPがお送りします
おーい
Go やRustに詳しくて関数型もできる人こーい
どうやって構造体内のメソッドを呼び出してるのか
そもそも構造体にメソッドはかけるのか

37: 以下、5ちゃんねるからVIPがお送りします
OOPは概念

43: 以下、5ちゃんねるからVIPがお送りします
>>37
それ
しかもかなり人間側にとってわかり易い概念だと思うんだが難しいっていう人割といるよね?

38: 以下、5ちゃんねるからVIPがお送りします
オブジェクト指向じゃないと今はきついだろ
ワンオペみたいな長ったらしい文は読みにくくてしゃーない

53: 以下、5ちゃんねるからVIPがお送りします
オブジェクト指向はなくてはならない存在だけど
オブジェクト指向と調べて出てくるような項目は現代プログラミングに不必要だと思ってる
あくまでIDEの恩恵を受けやすい形が良いというだけ

引用元: ・【プログラミング】オブジェクト指向いらない←これ