オブジェクト指向 のバックアップ差分(No.1) luckey!!!! - memo random

#author("2018-08-21T10:22:07+09:00","ldap:pandora"," pandora")
* ''オブジェクト指向'' [#bf98c062]
#contents
* 用語 [#nd9efde2]
- カプセル化(中身の隠蔽)
 データ構造の中身を隠蔽し、データ操作に必要な情報のみを外部に提供すること。
#highlighter(java,number){{
  // x には 11が入る。
  int x = sum( 5, 6);
}}
 sum メソッドは、数値型の引数が2つあり、返り値に加算した値が返ってくる
 → データ操作に必要な情報
 sum メソッドの中で、何をやっているかは知る必要はない。
 → データ構造の中身の隠蔽
- インヘリタンス(継承)
 あるクラス(オブジェクト)があるクラス(オブジェクト)の特性を引き継ぐこと。
#highlighter(java,number){{
// Parent クラスの特性をChildクラスが引き継ぐ
public class Child extends Parent {
   public Child() {
     oyaMethod();
   }
}
}}
 Parentクラスにメソッド oyaMethodが定義されている場合、継承したChildクラスは
 oyaMethodを定義しなくても、メソッドを使用することが出来る。
- ポリモーフィズム(多様性)
 メッセージの送信側(メソッドの呼出側)とメッセージの受信側(メソッド側)が動的に決まること。
#highlighter(java,number){{
public class Chain {
   String chainStr= null;
   public Chain() {
     chainStr = "";
   }
   // 引数違い①
   public void addChain(String message) {
     chainStr = chainStr + "string:" + message;
   }
   // 引数違い②
   public void addChain(int message) {
     chainStr = chainStr + "int:" + message;
   }
   // 引数違い③
   public void addChain(double message) {
     chainStr = chainStr + "double:" message;
   }
}

public class user {
   public main() {
     Chain obj = new Obj();
     // 同名メソッドで異なる引数を処理できる。
     obj.addChain("AAAA");
     obj.addChain(1);
     obj.addChain(1.1);
   }
}
}}
 addChainメソッドは引数違いで、用意されており、どのaddChainメソッドを使うかは、
 呼び出し元の引数で決定する。
 ※同名で、異なる引数を持つメソッドをオーバーロードの関係にあるメソッドという。

* 主なプログラミング言語 [#jdc4607d]
- smalltalk
- [[Java]]
- C++
- C#
- Objective-C



トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS