SSブログ

JAVAオブジェクト指向講座 [よもやま日記]

JAVAオブジェクト指向講座

・オブジェクト指向とは何か?
オブジェクト(Object)とは?
 ・あらゆる事物
 ・世の中に存在する事物はオブジェクトとみなすことができる

ex) 車クラス
 状態/状況
 - ガソリンの残量
 - 車体色

 振る舞い/動作
 - 前進する
 - 止まる

・オブジェクト指向に登場する概念
1. クラス
 表現したい事物について定義したもの
 定義の内容は大きく二つに分かれる
 - 状態(状況)…フィールド
 - 振る舞い(動作)…メソッド

2. インスタンス
クラスの「実体」としてのインスタンス

「クラス」が「インスタンス化」すると何が起きるか
 クラスには「状態」「振る舞い」が定義されている
 それぞれのインスタンスが、固有の「状態」を持つことができる
 「状態」が異なると「振る舞い」も異なってくる

・インスタンスの生成手順
 クラス名 変数名 = new コンストラクタ指定

・メソッド Person
 状態 age
 振る舞い 年齢を表示する

⇒ インスタンス p1
 状態 age
 振る舞い prontAge

・staticメソッドは便利?
 値を1ヶ所でしか保持できないので、値が上書きされてしまう。
 同一クラス内のstatic定義でないメソッドやstatic定義でないフィールドに直接アクセスすることはできない。

・継承とは何か
差分プログラミング
差分 => 元のものと異なっているところ
差分なるところだけ書けばよい

・継承を用いることのメリット
1. あるベースとなるクラスをもとに、それぞれの用途に特殊化されたクラスを作成することが容易
2. 作成後のメンテナンスも容易

・JAVAにおける「インターフェース」
クラスに対する入出力を規定するもので工業製品の「規格」に近い概念
メソッドの定義に関するルール
 処理内容は含まない

クラスは、ルールに従うかどうかを宣言
ルールに従うメソッドの実装が強制される
処理内容も含めて記述(内容は自由)

カプセル化のメリット
クラスが想定していない状態を引き起こすことを防げる
フィールドの名称や存在が変更されても外部に影響を与えない

・ポリモルフィズム
① 子クラスは、親クラスのふりをすることができる
② 実装クラスは、インターフェースのふりをすることができる

nice!(18)  コメント(0)  トラックバック(0) 
共通テーマ:資格・学び

nice! 18

コメント 0

トラックバック 0