Pythonはday8特性およびオブジェクト指向プログラミングクラスのメソッドを学習します2-

まず、クラスのプロパティ

1.構文

修飾子のタイプの属性名=初期値

説明:修飾子プライベート:この属性は、クラスのメソッドで使用することができます。同じクラスに見えます。使用すると、オブジェクト:変数とメソッドを。 注:あなたは、クラス(外クラス)を変更することはできません

     修飾子公共:この属性は、クラス以外の方法でアクセスすることができます。すべてのクラスに見えます。オブジェクトを使用する:クラス、インタフェース、変数、メソッド

          タイプ:任意の基本型は、そのようなint型、ブール値、または任意のクラスなど

追加:修飾子は、変数を変更するために使用することができ、あなたは変数がパブリックまたはプライベートで指定することができ、プライベート変数をすることはできませんオブジェクトのプロパティ。ウェイコールは

変数の2分類:

  1.メンバ変数:インビトロ方法で、インビボ可変クラスで、メンバ変数宣言と称します

      メンバ変数が含まれます:1つのインスタンス変数を(ない静的な変更で)

                  (静的変形例)2.クラス変数

  2.ローカル変数:メソッド内で宣言された内部変数は、ローカル変数を参照します

      (メソッドシグネチャ変数によって定義された)パラメータ:含むローカル変数

             2.ローカル変数(メソッドで定義された変数)の方法

             3.ローカル変数ブロック(コードブロック内で定義された変数)

例:

パブリック クラス人{
     公共の文字列名=「趙」; // パブリック:パブリック、そのようなクラスを使用することができないだけで、このクラスのプロセスはクラスの外から使用することができますで
    プライベート int型の年齢; // プライベート:プライベート、唯一のクラスでは、この方法で使用することができる、クラス外で使用することができない
     。// インスタンス変数として複数の変数、変数は、クラスインスタンス化されたオブジェクトの後に使用を指す
    パブリック 静的文字列セックス=「M」; // 静的:静的、変数はクラス変数と呼ばれるように、無インスタンス化オブジェクトを使用することができます。(クラス名属性によって直接呼び出すことがあります)
    公共 無効showAge(){ 
        System.out.printlnは(年齢); 
    } 
}

  3.メンバ変数とローカル変数の間の差

      メンバー変数:クラスで定義された1つのメンバー変数は、クラス全体にアクセスすることができます。

           クラスのメンバ変数とインスタンス変数に2メンバ変数は、インスタンス変数は、(オブジェクト内のインスタンス変数は、クラスがインスタンス化された後にのみ使用することができる)ヒープメモリに配置オブジェクトのメンバに存在します。

           3.メンバ変数は、デフォルトの初期値を持っています。

           任意に、必要に応じてから選択(プライベート、パブリックまたは保護)することができる修飾4.メンバ変数のアクセス許可。

      ローカル変数:1.ローカル変数は、ローカルエリアで定義され、このような方法としては、コードブロック等(ローカル変数は、それが属する方法の範囲内で使用することができます)。

           2.スタックメモリ上のローカル変数。最後のアクションのスコープ、変数空間を自動的に解放されます。

           3.ローカル変数はデフォルト値が初期化されていない、それぞれが明示的に初期化する必要があります。

           あなたが権限にローカル変数の宣言修飾子を指定していない4。

第二に、クラスメソッド

 1.構文:

修飾子戻り型メソッド名(パラメータリスト){ 
    メソッド本体ステートメント; 
}    

説明:空で、値が1ではありません返します

   2.例えば、INTは、後者の方法では、メソッドの戻り型に定義されている戻り値、特定のタイプの戻り値は、リターンの戻り値であります

例:

パブリック クラス人{
     プライベート int型、年齢
     公衆 INT getAgeは(){ // 方法getAge宣言
        戻り年齢; 
        } 
    公共 ボイド setAge(intは I){ // メソッドを宣言するsetAge 
        年齢= I; // クラスIに割り当てられたパラメータ値メンバ変数年齢
        } 
    }

 

法上の第三に、

  1.メソッド(関数)とは何ですか?

    クラスは、関数と呼ばれ、オブジェクトの抽象的または行動特性です。Javaでメソッドが存在しないことができ、すべてのメソッドは、クラスで定義する必要があります。

  2.構文:

修飾子戻り型メソッド名(パラメータタイプパラメータ1、パラメータタイプ、パラメータ2、...){ 
    プログラムコード
    戻り値を返します; 
}

前記パラメータの形式で外部の方法で着信データを受信するための変数が呼び出されます。(メソッドのパラメータは、複数であってもよいです)

      パラメータタイプ:これは仮パラメータのデータ型です。

   戻り値:それが終了した後に呼び出すプログラムデータを返すメソッド。

   戻り値型:戻り値の結果にデータ型のメソッド。

   引数:メソッドを呼び出すときに、関数に渡されたパラメータの実際のデータ形式。

  3.通話の方法

    唯一の方法は、呼ばれて実行されます、次のように、分析メソッドの呼び出しは次のとおりです。

  注:1.特定の戻り値、キーワードのボイドで示される戻り値の型は、関数のreturn文は、最後の行場合は省略することができます。

     2.定義されたメソッドは、呼び出し元に結果を返すべき方法は、発信者が治療と呼ばれます。

     3.同じクラスでは、すべてのメソッドは、オブジェクトをインスタンス化するために、直接新しいものではないがお互いを呼び出すことができます。

     唯一のメソッドを呼び出すことができる方法は、方法は、メソッド内で定義することはできません。

  方法オーバーロード(過負荷)

    オーバーロード(過負荷):クラスを指し、限りができるパラメータまたはパラメータの種類の数が異なるように、同じ名前の複数のを可能にする方法があります。

例えば:

// 同じ名前のメソッドの複数使用すると、クラスで共存する場合は、これらのタイプのデータは、パラメータまたは異なるパラメータの数に同じ方法でなければならない
公共 のint(追加のint X、int型Y){
     リターン X + Y; 
} 
公共 ダブル追加(int型 X、ダブル Y){ // の異なる種類のパラメータ
    リターン X + Y; 
} 
公共 のint追加(int型 X、INT Y、INT Z){ // 異なるパラメータの数が
    返す X + Y + Z; 
} 
公共 ダブル追加(ダブル Y、int型X){ // 2の比は、異なる順序だけでなく、パラメータの異なるタイプの
    戻り X + Y; 
}

    過負荷の特徴:戻り値の型の独立したが、唯一のパラメータリスト、およびパラメータのリストは、異なる(パラメータまたはパラメータタイプの異なる数)でなければなりません。(例:公共の二重追加(int型のx、 int型のY) 及び公共int型の追加(int型のx、INT y)が重負荷を構成するものではありません)

          あなたは区別するために、メソッドのパラメータリストに応じて、呼び出すと

例:3つのオーバーロードされたメソッドおよび呼び出しを定義するプログラムを書きます。この方法は、MOLの名前。要件:この方法は、3パラメータINT、INT二つのパラメータ、パラメータ文字列、それぞれ、二乗演算を行い、結果を出力し、乗算結果を出力し、出力文字列情報、メインクラスとmain()メソッドを受信します3つの方法が、パラメータの差が呼び出されます。

パブリック クラスのテスト{
     公共 静的 ボイドメイン(文字列引数[]){ 
        テストT = 新しいテスト(); 
        t.mOL( 2 )。
        t.mOL( 2,3 )。
        t.mOL( "重载方法MOL" ); 
    } 

    公共 ボイドモル(int型i)を{ 
        するSystem.out.println(iは iは* i)を、
    } 

    公共 ボイドモル(int型のx、int型のY){ 
        System.out.printlnは(X * Y)。
    } 

    パブリック ボイドモル(文字列S){ 
        System.out.printlnは(S); 
    } 
}

結果を印刷します:

 

例:3オーバーロードメソッドmaxの定義()、2つの値の最大値を選択する第一の方法は、2つのdouble値の大きい値を回復しようとしているダブル3を求める第3の方法の第二の方法をint型最大値は、それぞれ3つのメソッドを呼び出します。

パブリック クラスのテスト{
     公共 静的 ボイドメイン(文字列引数[]){ 
        テストT = 新しい新しいテスト(); 
        t.max( 1、2 ); 
        t.max( 1.3、1.4 ); 
        t.max( 1.5、16、0.17 ); 
    } 

    公共 ボイド MAX(int型 X、INT Y){
         IF(X> Y){ 
            するSystem.out.println( "最大値は" + X); 
        } { 
            するSystem.out.println(「最大であります:「+ Y)。    
        }
    } 

    公共 ボイド MAX(ダブル X、ダブルY){
         ダブル RES = 0 もし(X> Y){ 
            RES = X。
        } { 
            RES = Y。
          } 
        のSystem.out.println( "最大值是:" + RES)。
    } 

    公共 ボイド MAX(ダブル A、ダブル B、ダブルC){
         ダブル RES = 0 

        もし(> B){
            もし(> C){ 
                RES = 
            } { 
                RES = C。    
            } 
        } {
             場合(B> C){ 
                RES = B。
            } 
        } 
        のSystem.out.println( "最大值是:" + RES)。
    } 
}

印刷結果

おすすめ

転載: www.cnblogs.com/su-peng/p/11788594.html