Javaオブジェクト指向 - カプセル化

オブジェクト指向の考え方の概要

・の場合

基本的な意味:の方を向いています

派生意味:フォーカス、注意

・オブジェクト

世界のすべて

・プロセス指向の考え方:

プロセス指向の考え方は上の考え一つまたは活性(すなわちプロセス)に関与するステップに焦点を当てることです

オブジェクト指向の考え方:

オブジェクト指向の考え方のアイデアは、上の人や物や活動が(つまり、オブジェクト)を関与というものに焦点を当てることです -

- 特長:より多くの思考の人々の思考の習慣、簡単な複雑なものと一致して、その後、人々はエグゼキュータからの司令官となり

- 前記カプセル化、継承、ポリモーフィズム

2.クラスとオブジェクト

二つの側面から物事を説明

1.プロパティ

2.行動

Javaはどのようなことを説明するには?

Javaは、主属性と行動で構成される、「クラス」を通じて物事を記述するために

クラスの概念

その分類、分類は、総称してプロパティや行動で、同じプロパティと動作を持っているもののシリーズと呼ばれています

抽象

プロセスから抽出した関連物事の一連の共通の属性と行動

オブジェクト -オブジェクトとは何ですか?

物事の特定のクラスがあります

クラスとオブジェクト間の関係

クラス:属性と行動のコレクションは、それは抽象的な概念であります

オブジェクト:このようなことの具体的な症状、具体的には、そこにあります

3.クラス定義と使用

あなたは、クラスを定義した場合は?

Processクラスの定義は、プロセスを引き出す共通の属性や関連物事のシリーズの動作です

クラスのメンバ変数と呼ばれるものの性質、

クラスのメンバメソッドと呼ばれるものの挙動、

あなたは、オブジェクトを作成する場合は?

オブジェクトクラス名name =新しいクラス名();

どのようにオブジェクトを使用するには?

オブジェクト名変数名

オブジェクト名。メソッド名()

例:定義とクラスの携帯電話の使用

1.定義:

    クラス名:電話

    メンバー変数:

    文字列のブランド; //ブランド

    ストリングモデル; //モデル

    文字列名; //名前

    メンバーの方法:

    呼び出し(); //コール

    sendMessage(); //テキストメッセージを送信

    playGame(); //ゲームをプレイ

2.:

    電話のp =新しい電話番号();

// 携帯電話のクラス定義
のパブリック クラスの電話{
     // メンバ変数:クラス定義の外の変数、メソッド
     // ブランド
    ・ストリング・バンドを;
     // 型の
    文字列モデル;
     // 名前の
    文字列名;
     // メンバメソッドを
     // 呼び出す
    公衆 ボイドコール(文字列名){ 
        するSystem.out.println( "" +名+ "コール" ); 

    } 
    // テキストメッセージ
    公共 ボイドのsendMessage(文字列名){ 
        するSystem.out.println( "" +名+ 「テキストメッセージ」); 

    } 
    // ゲームプレイする
    公共 ボイドplayGame(){ 
        System.out.printlnは( "プレイ" ); 
    } 
}
パブリック クラスTestPhone {
     // 主な機能は、プログラムのメインエントリであるが、すべてのコードは、ここから実行される
    パブリック 静的 ボイドメイン(文字列[]引数){
         // 1オブジェクト作成 
        電話P = 新しい新しい電話番号を(); 

        // 2.コールメンバ変数とプリント
         // メンバ変数代入に 
        p.band =「アップル」; 
        p.model =「X-」; 
        p.name =「学生」; 

        // メンバ変数の値に印刷
        するSystem.out.printlnを(p.band)
        のSystem.out.println(p.model)
        のSystem.out.println(p.name); 

        // 3.メンバメソッド呼び出し 
        (「するSystem.out.printlnを======== == "); 
        P.call( "B学生" ); 
        p.sendMessage( "C学生" ); 
        p.playGame(); 



    } 
}

 

 ルールで使用されるJava変数

使用変数は、近接の原則に従っている場合の使用上の局所的な位置

ないエラー時に、あなたが使用する必要があり、クラスのメンバーを見つけるために、この場所に行ってはいけません

メンバ変数とローカル変数の違い

1.定義位置

メンバー変数:外のクラス、メソッド

ローカル変数:メソッドまたはフォームパラメータ

2.初期設定値

メンバー変数:デフォルトの初期値があります

ローカル変数:なしデフォルトの初期値は、最初の再利用を割り当てる必要があります

3.範囲:

メンバー変数:クラスの

ローカル変数:プロセス

メモリ内の4場所:

メンバー変数:ヒープメモリ

ローカル変数:スタックメモリ

5.ライフサイクル

メンバー変数:オブジェクトの作成が存在して、オブジェクトが消失して消えます

ローカル変数:メソッドの呼び出しとともに呼び出し方法が存在するが、完成されたとは消えます

注意事項:

近接の原理を取るためにローカル変数とメンバ変数テーブルと同じ名前、

4.パッケージの概要

パッケージとは何ですか?

シリーズは、単一のデバイスにパックすることができ、それは、これらの機能のインタフェースを使用するために提供しています

メリットパッケージ

- セキュリティを向上させます

- 再利用性を向上させます

- 複雑な物事シンプル

Javaパッケージで

1.メソッド

セキュリティ:呼び出し側は具体的な実装方法を知りません

再利用性:プロセスが使用して繰り返されてもよいです

単純化:プレゼンテーションの方法を介して、コードの範囲は、機能のみを達成することができ、コードの保守は、メソッドを呼び出すことで簡単になります

2.クラス

セキュリティ:呼び出し側は、特定の実装クラスを知りません

再利用性:オブジェクトクラスを再利用することができます

簡素化:オブジェクトクラスは、より多くの機能が含まれ、より使いやすいです

5.privateキーワード

民間の基本的な考え方

変更されたクラスメンバーのプライベートアクセス修飾子

特長:修正会員になると、このカテゴリにアクセスできますしないでください

使用法:

    プライベートデータ型の変数名

    プライベート戻り型メソッド名(パラメータリスト){}

 

展開:公共、公共、アクセス修飾子、クラスに属する、メンバ変数、メソッド、メンバーは、変更されたコンテンツは、任意のクラスにアクセスすることができます

例:プライベートメンバ変数の変更

要件:private修飾子を持つ変数学生のクラスに、テストクラスのメンバ変数の後、適切な使用

パブリック クラス学生{
     // メンバ変数
     // 名前
    プライベート文字列名;
     // 年齢
    プライベート int型年齢; 

    // メンバメソッド
     // 学習
    公共 ボイド研究(){ 
        
        System.out.printlnは(名前 +「学習」); 
    } 

    // パブリックアクセスモード、設定値、それぞれ、値を取得する
     // 名前設定
    公共 ボイドSetNameメソッド(N-文字列){ 
        
        名前 = N-を; 
    } 
    // の名前取得
    パブリック文字列のgetNameを(){ 
        
        戻り名; 
    }

    // 設定する年齢の
    国民が 無効(setAgeをINT A){ 
        
        年齢 = ; A 
    } 
    // 年齢ゲット
    公共 int型getAgeを(){ 
        
        返す年齢; 
    } 
}
パブリック クラスTestStudent {
     公共 静的 ボイドメイン(文字列[]引数){ 
        学生S = 新しい新しい学生();
         // メンバーのsetNameメンバ変数名設定するメソッド呼び出し 
        s.SetName(「ジョン・ドウ」を);
         // メンバメソッドsetAgeを呼び出しますメンバ変数年齢設定する 
        s.setAge(15 );
         //は、名前と年齢を取得するためのgetNameとgetAgeメソッドを呼び出し 
        、 "名前:"(するSystem.out.printlnを+ s.getName()+ "年齢:" + s.getAge( )); 
    } 
}

結果:

 

 

6.thisキーワード

これは、オブジェクトに、このクラスのオブジェクト参照が本質的であることを示し

機能

このメソッドは呼び出す誰を指すようになり、それぞれ通常のための方法、これを、持っています

使い方

これ。属性名

7.標準コード:JavaBeanの

工事の方法の基本的な考え方

正確には、ビルドし、作成し、また、コンストラクタとして知られ、コンストラクタの役割は、オブジェクトを初期化することです

誰がオブジェクトを作成しますか?

新しいキーワードは、Javaは、メモリ内の新しいキーワードの作成、オープンスペースを通じてオブジェクトを、その後、コンストラクタ(コンストラクタ)完全なオブジェクトの初期化を使用します

定義のコンストラクタ

フォーマット

モディファイコンストラクタ名(パラメータリスト){

//メソッド本体

}

注意事項:

1.メソッド名は、(場合を含む)は、同じクラス名でなければなりません

2.ノーリターン値(ただし、リターンを書き込むことができます)

3.なし戻り値の型(空ではありません)

任意の構成の方法を提供すること4.故障、システムは、引数なしのデフォルトコンストラクタが与えられます

5. Ruoyi設けられた任意の構成の方法は、引数なしのコンストラクタは、もはや利用可能ではありません

前記構成方法は、オーバーロードすることができます

標準コード:JavaBeanの

Java言語のクラスで書かれた保証仕様。JavaBeanは、それは、引数なしで、特定の一般的な、そしてコンストラクタでなければならないセットを操作するための方法を提供し、メンバ変数を取得するための標準的なクラスを満たします

Javaでカプセル化された概念

抽出された共通属性とクラスに出て、関連する事柄の一連の行動、隠されたオブジェクトのプロパティと実装の詳細、ちょうどパブリックアクセス方法の提供外

キーパッケージ

クラスメソッドは、オブジェクトの相互作用によって、方法および手順は、専用データオブジェクトデータ(属性)の他の種類への直接アクセスを許可してはなりません

例:

 

// 標準のJavaBeanクラス定義
のパブリック クラスの学生{ 

    // プライベート修正を持つすべて:メンバ変数
     // 名前
    のプライベート;文字列名
     // の年齢
    プライベート int型の年齢; 

    // コンストラクタ:引数なしのコンストラクタ、全体の引数のコンストラクタ
     // なしに構成パラメータ
    パブリック学生(){ 

    } 
    // 設定されたすべてのパラメータ
    公衆学生(文字列名、INT 年齢){
         この .nameの= 名;
         この .age = 年齢; 
    } 


    // パブリックアクセスモード:のgetXXX()、のsetXXX()
     / / 名前を設定
    公共 ボイドsetName(文字列名){
         この .nameの= 名; 
    } 
    // の名前なさい
    公共の文字列のgetName()を{
         戻る この.nameのを; 
    } 
    //は年齢設定

    、公開が 無効 setAge(int型年齢){
         この .age = 年齢; 
    } 
    // 年齢ゲット
    公共 int型)(getAgeを{
         返す年齢; 
    } 
}
パブリック クラスTestStudent {
     公共 静的 ボイドメイン(文字列[]引数){ 
        学生STU = 新しい学生()。
        stu.setName( "张三" ); 
        stu.setAge( 12 )。
        System.out.println( "姓名:" + stu.getName()+ "年龄:" + stu.getAge())。

        System.out.println( "===================" ); 
        学生STU2 = 新しい学生( "李四"、15 ); 
        System.out.println( "姓名:" + stu2.getName()+ "年龄:" + stu2.getAge())。

    } 
}

 

結果:

 

おすすめ

転載: www.cnblogs.com/tlidx/p/11449543.html