JAVAオブジェクト指向講座 [よもやま日記]
JAVAオブジェクト指向講座
・オブジェクト指向とは何か?
オブジェクト(Object)とは?
・あらゆる事物
・世の中に存在する事物はオブジェクトとみなすことができる
ex) 車クラス
状態/状況
- ガソリンの残量
- 車体色
振る舞い/動作
- 前進する
- 止まる
・オブジェクト指向に登場する概念
1. クラス
表現したい事物について定義したもの
定義の内容は大きく二つに分かれる
- 状態(状況)…フィールド
- 振る舞い(動作)…メソッド
2. インスタンス
クラスの「実体」としてのインスタンス
「クラス」が「インスタンス化」すると何が起きるか
クラスには「状態」「振る舞い」が定義されている
それぞれのインスタンスが、固有の「状態」を持つことができる
「状態」が異なると「振る舞い」も異なってくる
・インスタンスの生成手順
クラス名 変数名 = new コンストラクタ指定
・メソッド Person
状態 age
振る舞い 年齢を表示する
⇒ インスタンス p1
状態 age
振る舞い prontAge
・staticメソッドは便利?
値を1ヶ所でしか保持できないので、値が上書きされてしまう。
同一クラス内のstatic定義でないメソッドやstatic定義でないフィールドに直接アクセスすることはできない。
・継承とは何か
差分プログラミング
差分 => 元のものと異なっているところ
差分なるところだけ書けばよい
・継承を用いることのメリット
1. あるベースとなるクラスをもとに、それぞれの用途に特殊化されたクラスを作成することが容易
2. 作成後のメンテナンスも容易
・JAVAにおける「インターフェース」
クラスに対する入出力を規定するもので工業製品の「規格」に近い概念
メソッドの定義に関するルール
処理内容は含まない
クラスは、ルールに従うかどうかを宣言
ルールに従うメソッドの実装が強制される
処理内容も含めて記述(内容は自由)
カプセル化のメリット
クラスが想定していない状態を引き起こすことを防げる
フィールドの名称や存在が変更されても外部に影響を与えない
・ポリモルフィズム
① 子クラスは、親クラスのふりをすることができる
② 実装クラスは、インターフェースのふりをすることができる
・オブジェクト指向とは何か?
オブジェクト(Object)とは?
・あらゆる事物
・世の中に存在する事物はオブジェクトとみなすことができる
ex) 車クラス
状態/状況
- ガソリンの残量
- 車体色
振る舞い/動作
- 前進する
- 止まる
・オブジェクト指向に登場する概念
1. クラス
表現したい事物について定義したもの
定義の内容は大きく二つに分かれる
- 状態(状況)…フィールド
- 振る舞い(動作)…メソッド
2. インスタンス
クラスの「実体」としてのインスタンス
「クラス」が「インスタンス化」すると何が起きるか
クラスには「状態」「振る舞い」が定義されている
それぞれのインスタンスが、固有の「状態」を持つことができる
「状態」が異なると「振る舞い」も異なってくる
・インスタンスの生成手順
クラス名 変数名 = new コンストラクタ指定
・メソッド Person
状態 age
振る舞い 年齢を表示する
⇒ インスタンス p1
状態 age
振る舞い prontAge
・staticメソッドは便利?
値を1ヶ所でしか保持できないので、値が上書きされてしまう。
同一クラス内のstatic定義でないメソッドやstatic定義でないフィールドに直接アクセスすることはできない。
・継承とは何か
差分プログラミング
差分 => 元のものと異なっているところ
差分なるところだけ書けばよい
・継承を用いることのメリット
1. あるベースとなるクラスをもとに、それぞれの用途に特殊化されたクラスを作成することが容易
2. 作成後のメンテナンスも容易
・JAVAにおける「インターフェース」
クラスに対する入出力を規定するもので工業製品の「規格」に近い概念
メソッドの定義に関するルール
処理内容は含まない
クラスは、ルールに従うかどうかを宣言
ルールに従うメソッドの実装が強制される
処理内容も含めて記述(内容は自由)
カプセル化のメリット
クラスが想定していない状態を引き起こすことを防げる
フィールドの名称や存在が変更されても外部に影響を与えない
・ポリモルフィズム
① 子クラスは、親クラスのふりをすることができる
② 実装クラスは、インターフェースのふりをすることができる
コメント 0