Javaオブジェクト指向の最適化パッケージ1_this(自己Pythonで)

1.クラス

以下のためのパッケージ変更cn.itcast.day06.demo03; 

/ * 
問題の説明:あなたは人の年齢を定義すると、不当な値がでてくるように設定されて防ぐことはできません。
ソリューション:秘密鍵はメンバ変数を変更することができ、保護する必要があります。

変更され、その後、このクラスの私的使用後は、まだ自由にアクセスすることができました。
しかし!もはやカテゴリを越えて、この範囲の外に直接アクセスできるようにします。

間接アクセスプライベートメンバ変数は、getter / setterメソッドは、子供のペアの定義である

のsetXXXかのgetXXXの命名規則と呼ばれている必要があります。
ゲッターのために、パラメータは、戻り型と対応するメンバー変数を持っていない。
セッターのために、その値、パラメータ・タイプ、および対応するメンバ変数を返すことができません。
 * / 
パブリッククラス人{ 

    文字列名; //名前
    プライベートint型の年齢; //年齢

    ます。public voidショー(){ 
        System.out.printlnは( "私の名前:" +名+ "年齢:" +年齢); 
    } 

    /具体的には年齢にデータを設定するための部材の/方法、
    公共ボイド(NUM INT)setAge { 
        IF {//それが合理的である場合(NUM <100 && NUM> = 9)
            年齢= NUM。 
        }他{ 
            のSystem.out.println( "データ不合理な!"); 
        } 
    } 

    //このメソッドのメンバー、特に年齢データ取得ささやき
    )公共int型getAgeを({ 
        リターン年齢; 
    } 

}

2.オブジェクト

cn.itcast.day06.demo04パッケージ変更のため、

パブリッククラスDemo01Person { 

    公共の静的な無効メイン(文字列[] args){ 
        人人=新しい新しい人(); 
        自分の名前の設定// 
        person.name =「王健林を」; 
        person.sayHello ( "Sicong"); 

        のSystem.out.println(人物); //アドレス値
    } 

}
cn.itcast.day06.demo04パッケージ; 

パブリッククラスDemo02Student { 

    公共の静的な無効メイン(文字列[] args){ 
        学生STU1新しい新しい学生=(); //引数なしのコンストラクタ
        のSystem.out.println(「====== ======「); 

        学生STU2 =新新学生( "趙麗穎"、20); //引数全体のコンストラクタ
        のSystem.out.println( "名:" + stu2.getName()+ "年齢:" + stu2.getAgeは()); 
        あなたがオブジェクト間のメンバ変数データの内容を変更する必要がある場合は、//、まだのsetXXXメソッドを使用する必要があります
        stu2.setAge(21); //は、年齢に変更
        するSystem.out.println(「名:」+ STU2を。 getName()+ "年齢:" + stu2.getAge()); 

    } 

}
cn.itcast.day06.demo04パッケージ; 

/ * 
「近接の原則」に従い、プロセス変数と授業時間の同じ名前のローカル変数は、優先的にローカル変数を使用するメンバー。
:あなたは形式を使用する必要があり、このクラスのメンバ変数にアクセスする必要がある場合
。このメンバー変数名を

*「これは誰で、呼び出すメソッドにより、」
 / 
パブリッククラス人{ 

    ; //自分の名前の文字列名を

    //パラメータ名人の名前です
    //メンバ変数名は彼の名前である
    公共のボイドのsayHello(文字列名){ 
        System.out.printlnは(名前+「こんにちは、私は」+ this.name); 
        System.out.printlnは(この); 
    } 

}

  

 

おすすめ

転載: www.cnblogs.com/yzg-14/p/12190070.html