オブジェクト指向を教えてくれ!★2

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2021/04/27(火) 15:02:28.94ID:mH9VXFld
オブジェクト指向について、調べれば調べるほど疑問が募ります。低レベルで粗末な疑問かも知れませんが、ご教授願いたいです。

・データと振る舞いをまとめる?
まとめると何か良いことあるの?
ファイルあるいはモジュールにはまとまってるよね?
丁度いい単位があるのに、何故わざわざオブジェクトという概念を導入するの?
(Javaには1ファイル1クラスという文化あるらしいけど)

・カプセル化?
モジュールのimport, exportでも実現出来るよね?
(構造体などへのアクセスを制限できれば)

・ポリモーフィズム?
別にデータと振る舞いをまとめなくても実現出来るよね?

・モノのように扱いたい?
モノとして扱いたいときに扱えば良くない? なんでわざわざ全てをオブジェクトにするの?

※前スレ
https://mevius.5ch.net/test/read.cgi/tech/1615881962/
2021/04/27(火) 15:43:46.43ID:G8Jv4YsW
> まとめると何か良いことあるの?

人間の一般的な認識と近くなります。
例えば「犬」には走る、鳴くなどの動詞と
色、大きさ、などの属性があります
人間の認識と近いため、より管理がしやすくなります。

・カプセル化?
・ポリモーフィズム?

オブジェクト指向は概念であるため
オブジェクト指向言語でなくても実現できるのは当たり前です。
オブジェクト指向言語というのは、これらをより簡潔に実現するための機能が
言語自体に備わっているということです。

> ・モノのように扱いたい?
> モノとして扱いたいときに扱えば良くない? なんでわざわざ全てをオブジェクトにするの?
モノとして使いたくないものがないからです。
例えば関数だって、関数名や引数と言った属性を持っています。
■ このスレッドは過去ログ倉庫に格納されています