オブジェクト指向ができないと言われる (321レス)
オブジェクト指向ができないと言われる http://medaka.5ch.net/test/read.cgi/prog/1659519900/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
94: 1 [] 2022/08/04(木) 15:16:47.64 >>92 このスレッドでも言っている人がいるけど、プログラミングの設計手法だよ。 昔はオブジェクト指向がなくて、手続型という手法でプログラミングがされていたんだよ。 手続型プログラミングでも顧客の要件は満たせるんだけど、次の問題があった。 ・場当たり的 ・同じソースが何度も書かれている ・処理を一つ一つおわないとどう動いているかわからない ・一つのバグを直すのに時間がかかる ・同じソースが何度も書かれているため、1つの修正をしたいだけなのに、数カ所直す必要が出る Etc これを解決するのに、オブジェクト指向が出てきた。 この利点を説明する。 車であれば、タイヤ、ドア、エンジンなどに分解できる。 車クラスの中に、タイヤ、ドア、エンジンを元々から用意しておく。 車と言っても、レクサス、ホンダ、トヨタいろいろあるでしょ。 その車を用意する度に、車にはエンジンがあって〜、タイヤもあって〜、ドアもあって〜みたいなのを一々ソースに用意していたら、 あっちにも車、こっちにも車が書かれてる! みたいな事態が発生する。 しかも、レクサス、ホンダ、トヨタも個別にカスタマイズしたい。 デフォルトの装備しかないんじゃ個性がないよね。 http://medaka.5ch.net/test/read.cgi/prog/1659519900/94
95: 1 [] 2022/08/04(木) 15:17:10.27 >>94 だから、 車の基本機能を持っているクラスを用意する。 このクラスには、タイヤ、ドア、エンジンを持たせる。 そのクラスを使って、レクサス、ホンダ、トヨタという子供クラスを作る。 これが継承。 レクサスはエンジンがいい、とか、ホンダはタイヤがいい、とかそれぞれに個性を持たせる。 顧客から実は車って、座席数決まってないんですよ。 2シートの車もあれば、6シートの車もあるんです。 なんて、車クラスを作った後から告げられる。 だけど大丈夫。 親クラスに座席数を用意してあげればいいだけ。 子供のレクサス、ホンダ、トヨタもそれを受け継ぐから。 めんどくなっった。 http://medaka.5ch.net/test/read.cgi/prog/1659519900/95
97: 仕様書無しさん [sage] 2022/08/04(木) 18:58:12.21 >>94 書いてる内容だけではピンと来なかったけど、旧来の順を追って全部書くという手続き型の手法で問題となっていた非効率さを、オブジェクトと呼ばれる構成体を使用する事によって効率化を図る設計なりプログラミングの手法がオブジェクト指向という事か。 コードの重複解消、再利用、バグ発生箇所の特定、チームで認識共有、対応柔軟性などで効率化が図れるようだね。 オブジェクトと呼ばれる構成体はデータとデータを操作するメソッド達でなりたち、オブジェクトを定義するのがクラスか。 オブジェクトのデータやメソッドに他から想定外の干渉をさせないのがカプセル化、クラスを機能を引き継いで階層化して各種効率化するのが継承、同じメソッドでも違う結果を出す特性がポリモーフィズムでオブジェクト指向の3大要素。 これが素人が調べた結果。 http://medaka.5ch.net/test/read.cgi/prog/1659519900/97
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.799s*