OOP
Object-oriented Programming, OOP
まとまらない、
ALGOL言語の関数呼び出しのスタックフレームをヒープに移動できること、そのことにより、関数から戻ってきた後でも関数で宣言したローカル変数が存在し続けられることに気づいた。この関数はクラスのコンストラクタになり、ローカル変数はインスタンス変数になった。そして、ネストした関数はメソッドになった。その後、規律のある関数ポインタの使用によって、必然的にポリモーフィズムの発見につながった。 -- Clean Architecture p.50 なぐりがきをするmrsekut.icon*3
いろんな種類の「オブジェクト指向」
参考
メッセージングのオブジェクト指向
オブジェクトをメッセージを送信する
メッセージ指向
クラス指向
現代ではC++がオブジェクト指向を適切な目的で採用しているほとんど唯一といっていい言語だと思います。ひとことで言ってしまえば、関数型プログラミングの実行コストは高価になりがちなので唯一無二の最速最軽量言語であるC/C++のコンセプトとは相容れず、C++が実行効率に優れるオブジェクト指向を採用するのは合理的な選択だということです。 ref オブジェクト指向分析設計
fieldにリストを持つときは、毎度個別のclassをもう一つ作るのか
add/deleteのmethodを作るか、updateのmethodを作るか
前者の方が利用者側からみて制限が強い
まちがった使い方をしづらい
後者のほうが利用者は分岐なく使える
元の状態を知る必要がない、ただのセットである
参考
もっかいよもう
いろいろな「オブジェクト指向」
あなたのOOPはどれ?
カンファレンス
rustはoop言語でない