美人すぎない化粧品販売員がアプリ開発を目指す

Javaの構文、オブジェクト指向、APIなど、プログラミング初心者の私がアプリ開発までに理解したことをまとめたブログ

オブジェクトの三大機能 カプセル化/継承/多様性

オブジェクト指向の本質

「現実世界を仮想世界内にそのまま再現すること」

         ↓

Javaでは、それを開発者が安心して安全に円滑に行えるように

文法などに専用の機能が準備されている

 

[オブジェクトの三大機能]

 

① カプセル化 

 

 属性や操作を一部の相手からは利用禁止にする機能

 

 ex. [キノコ] 眠れ → [勇者]   

   [剣]  ×眠れ → [勇者]

現実的に剣が勇者に「眠れ」という指示を出すのはあり得ない

よって、「眠る」操作は剣オブジェクトから呼べないようにしておいた方が安全!

 

② 継承

 

 過去に作った部品を元にして、新しい部品を作れる機能

 

 ex. [普通の勇者] → [空を飛べるスーパー勇者]

もとの部品から少し付け加えるだけで良いのであれば、この機能を使えば同じ部分をもう一度いちいち記述しなくてもOK ラクチン!

 

③ 多様性

 

 似ている2つの部品を「同じようなもの」と見なし、

「いい加減」に利用できる機能

 

ex.[勇者] 戦う→ [キノコ]   ・・・[勇者] 戦う→[モンスター]

     戦う→ [コウモリ]

「キノコ」への戦うと「コウモリ」への戦うは操作はほとんど同じだから、

いちいちキノコへの戦う動作とコウモリへの戦う動作のコードを別で記述するより、

攻撃相手をざっくり「モンスター」と見なし、

記述をひとめとめにした方が楽! コードもすっきり!