オブジェクト指向言語がちょっとだけわかったかも
https://thinkit.co.jp/article/17962
C#の15パズルのコードで説明してくれている


同じ属性をもつモノ(例えば15パズルでは16枚のパネルがある)が複数あるとき、オブジェクト指向型でなければ、1つ1つのモノに対して条件、操作などを記述しなければならない&仕様変更(例えば15パズルから24パズルに変更する)がすべてに対していちいち書き直す必要があるが、オブジェクト指向型ならあらかじめ、モノの特性・ルールなどをオブジェクトとして定義しておいてそれらをルールに従って、条件判定したり操作したりすればよくなる。

キーワードとして「カプセル化」「継承」「多態性」がある?が必要なモノだけを使えばよい?

継承:既存のオブジェクトの機能をもった新しいオブジェクトをつくること
(あらかじめボタン機能をもったオブジェクトが用意されている上で、15パズル用にカスタムしたボタンを作る場合、など。 元のほうを基底クラス、親クラス、新しいほうを派生クラス、子クラスという)
(オブジェクトを定義するものをクラスという?)

インスタンス:プログラム実行によって生成されるオブジェクトの実体
(たぶん「オブジェクト」はモノを定義するプログラムと生成される画面上の実体の両方を含んでいて、プログラムのほうだけならクラス、実体のほうだけならインスタンスという?
コンストラクタ:クラスの中の、オブジェクトの初期値を決める部分のコードのこと
メソッド:関数のこと引数に対して計算とか処理とかしてくれる、引数の型をクラスの型にすればクラスを引数とすることもできる
(ここのインスタンスについて、共通する要素はコンストラクタで、異なる要素はメソッドで設定する)


この記事が気に入ったらサポートをしてみませんか?