オブジェクト指向

いつも忘れるオブジェクト指向。

まとめておくことにします。

オブジェクト指向

オブジェクト指向のプログラミング言語はC++、C#、Java、Objective-C、Python、PHPなどなど多数。

オブジェクト指向の特徴

よく三大特徴と言われるもの。

継承(インヘリタンス)
隠蔽(カプセル化)
多態性(ポリモーフィズム)

継承

基本の「クラス」を継承することでそのクラスに定義されている、変数(プロパティ、メンバ変数)、関数(メソッド)を
引き継ぐことが出来る。
何が嬉しいかと言えば、親クラスに無いけど必要な機能がある場合追加したり
振る舞い(動き)を継承先で変更させたり出来る。
あと再利用性も高まります。
仕様変更にも強くなります。親を変えてしまうのではなく、継承先で変更してしまえば良いのです。

隠蔽

隠蔽されると何が嬉しいのか?
それは意図しない変更をされないのでバグとかを封じることにも繋がるのです。
クラスの変数や関数には、公開レベル(アクセスレベル)を付けることが出来ます。
・public
 どこからでもアクセス出来る。
 継承すれば継承先でも、クラスを実態(使える形)にして直接呼び出すことも出来る
・protected
 継承元と継承先だけでアクセス出来る。
 クラスを実体化して呼び出すことは出来ない。
・private
 定義されたクラス内でのみ呼び出すことが出来る。
 クラスを実体化して呼び出すことも、継承先で呼び出すことも不可。
予期せぬ呼び出しや変数の値が予期せず変更されたりを防ぐことが出来るので良いとされます。

多態性

一番名前的になんだ?と思うのがポリモーフィズム、多態性。
オーバーライドが一番良い例でしょう。
継承元で既に定義されている関数を、継承先でもその機能を上書きしたり、動きを変えたり。
そうすると同じ親を持っている別々のクラスが別々の振る舞いをするようになります。
あとはインスタンス(クラスをNewして使える状態にした)に対する引数によって
振る舞いを変えたり(これは多態性かどうか微妙ですが)できます

2022-04-06 09:07:51

返信ページ


このユーザ作成の最新ページ

  • オブジェクト指向

    いつも忘れるオブジェクト指向。まとめておくことにします。オブジェクト指向オブジェクト指向のプログラミング言語はC++、C#、Java、Objective-C、P...
  • 日本の企業の解雇理由とか

    日本の企業は一度人を採用するとなかなか解雇が出来ないそうです。終身雇用制度とかがあった名残なのかなんなのか。それで追い出し部屋みたいなものも出来たのでしょう。た...
  • 最近のお楽しみ。これは楽しみなのか?

    ニュースサイト巡ってますか?私はGoogleNewsを利用してニュースサイトを見て廻ったりしております。そして皆さんはリーナス・トーバルズさんをご存じでしょうか...
  • エアコンの故障が直りました!

    原因ドレーンのつまり。解決方法真空ポンプ的なものでドレーンの水漏れを除去してもらいました。今後私も真空ポンプ的な奴買って持っておこうと思います。なぜ詰まったのか...
  • エアコンが故障したと思われます。(前面から水)

    突然の水漏れ。唐突に室内機の前面部分から水がポタポタ・・・とやがて貯まったものがドバっと流れてくるようになしました。場所的に真下にコンセントがあったりTVが近か...