オブジェクト指向でなぜつくるのか
本記事の内容
以下の本を読み、まとめを記載。
以前以下の本を読んだが、難しくて理解できなかった。
一方で今回読んだ本は実用的かつ、プログラミングの歴史が含まれており
読みやすい構成となっていた。
オブジェクト指向でなぜ作るのか
オブジェクト指向とは?
ソフトウェア開発の総合技術
保守性と再利用性
オブジェクト指向の3大要素
クラス
変数とメソッドのまとまり
整理するためのもの
クラスとインスタンス
クラス:例
インスタンス:実物
インスタンス名はメモリの座標
そのまま代入すると参照渡しになるので注意
値渡しではない
ポリモーフィズム
インターフェースを統一する
メソッド名を統一すれば、クラスによらず実行できる
親クラスでメソッドを中身を空にして定義
子クラスで具体の内容をそれぞれ記述
継承
共通点と相違点を整理する
特に相違点を別の場所に置くことで表現
共通メソッドは親クラスに記載
相違メソッドは子クラスでそれぞれ記載
※ポリモーフィズムとはそもそも目的が違う
プログラミング言語の歴史がたくさん書いてたが割愛
変数の取り扱い
前提、基本はローカル変数
メソッド内でしか使用できない
それだと不便なので範囲を拡張したのがインスタンス変数
これはクラス内で使用可能
まさにローカル変数とグローバル変数の間のような存在
プロセスとスレッド
プロセスはスレッドのまとまり
マルチスレッドはスレッドが複数同時並行する
厳密には一つずつ進めてる
待ち時間を考慮してチクチク進めるだけ
メモリ
静的領域
グローバル変数
ロード情報
スタック領域
スレッド(メソッド処理?)
ヒープ領域
クラスインスタンスの定義
ガベージコレクション
スタック領域や静的領域から呼ばれないもの
Callメソッドは呼び出し方向統一の意がある
ハリウッドの例を参考にしてる
製作者から声をかけるので、出演者は声をかけるなと
高い凝集性と低い結合度
凝集性:クラス内の関係性
結合度:クラス同士の関係性
この記事が気に入ったらサポートをしてみませんか?