LoginSignup
16
17

More than 5 years have passed since last update.

オブジェクト指向の3大要素 まとめ

Posted at

「オブジェクト指向の三大要素」について再復習の機会があったのでまとめてみた。

オブジェクト指向の三大要素とは

オブジェクト指向言語がもつ代表的な3つの特徴のことで、「カプセル化、継承、ポリモーフィズム」の3つ。
※ ただ3つの代表的な要素なだけで、これがあるからイコール「オブジェクト指向」だとかじゃないとかそういうものではない。

カプセル化

オブジェクトの安全性を高めるために、オブジェクトのメンバーを保護すること
※メンバ = オブジェクトのメソッド及び変数
この性質を理解し、影響範囲の小さく疎なプログラミングを心がけることが、大規模で安全なシステム構築に繋がる。

継承

あるクラスを引き継いで新しいクラスを定義することできること
この特徴があるおかげで、共通部分をまとめて、再利用することができる。

ポリモーフィズム(多態性)

オーバライドやオーバロードによって、メソッドを状況によって使い分けることができること
※ オーバライド: 親クラスのメソッドを子クラスで上書きすること
※ オーバロード: 同一クラス内で引数の違いによってメソッドの呼び分けること

参考資料:

http://teacher.nagano-nct.ac.jp/fujita/oopElements.php
定義が書いてある

https://qiita.com/koher/items/6878c80014992900add7
実例込みで説明してある

おまけ: ruby,railsにおいて

  • オーバロードはなし(動的型付けのため)
  • 抽象クラス、抽象メソッドはなし 例外を投げる擬似抽象メソッドで対応 https://qiita.com/yynozk/items/66bf766166eda2b84a03
  • インターフェースもないよ (ダックタイピング = アヒルのようになけば、それはアヒル)
16
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
17