読者です 読者をやめる 読者になる 読者になる

新人ぷろぐらまの覚え書き

最近プログラマーに転職したアザラシのブログ。

オブジェクト指向について 

オブジェクト指向について、本で勉強した事のメモ書きです。
読んだ本はこれ。

 

 

オブジェクト指向の定義

・ソフトウェアを開発するときに用いる部品化の考え方

設計図の部品をJavaのクラスとして記述していくことで、現実世界の定義や行動をプログラム化できる

人間に把握できるプログラム開発を実現する

 

メリット

・柔軟性、保守性が上がる

・プログラムの一部を簡単に変更できる(修正したいクラスだけを変更すればいい)

 

オブジェクトの姿

属性と操作を持っている。

オブジェクトの属性や操作は、プログラマが部品を作成する際に決定する。

 

オブジェクト指向の3大機能

カプセル化

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

・継承

過去に作った部品を流用し、新しい部品を簡単に作れる機能

多態性

似ている2つの部品を「同じようなもの」とみなし、「いいかげん」に利用できる機能

 

オブジェクトとクラス

・クラス・・・オブジェクトが生み出される際に用いられる、オブジェクトの設計図

クラスを定義して、そのクラスに基づいてオブジェクトを生成する

生成されたオブジェクトを「インスタンス」という。

 

・クラスの定義方法

クラス図・・・クラスの設計内容を上からクラス名、属性、操作の一覧として並べる

属性=フィールド、操作=メソッド

属性:クラスが持つ属性について、変数の名前と型を考える

操作:操作の名前、操作するときに必要な情報の一覧、操作の結果として支持もとに返す情報、処理内容を考える

 

has-aの関係

フィールドにクラス型の変数を宣言することが出来る。

あるクラスが別のクラスをフィールドとして利用している関係

 

・コンストラクタ

クラスがnewされた後に自動で実行され、初期値を代入する。

 

・同じクラスから生成されたインスタンスでフィールドを共有したい場合

・・・フィールド宣言の先頭にstaticキーワードを追加する。

staticキーワードを指定したフィールドは静的フィールドと呼ばれる。

(クラス変数とよばれることもある)

インスタンスにではなく、クラスに実体が準備される。また、そのクラスがインスタンスを生み出していなくても利用可能。

静的メソッドはその内部で静的ではないメソッド・フィールドを利用できない。

 

とりあえずメモっただけ・・・

100パーセント理解は仕切れてないです^^;

 

明日から1ヶ月間社外研修に行ってきます。
他社の方とも一緒に勉強できるといいな〜