2019/7/1学習概要(午後)
1つのJAVAパート
1.1情報隠蔽
JAVAでは、クラスのプロパティは不透明であり、メソッドはパブリックです。
サブクラスはsuper
、ステートメントを介して親クラスのコンストラクターにアクセスできます。また、このメソッドを使用して、親クラスから継承されたプライベート属性変数を読み書きできます。
したがって、サブクラスは親クラスのすべての情報を継承しますが、サブクラスであるか親クラスであるかに関係なく、外部から情報を取得するには、特定のメソッド(つまりgetter,setter
メソッド)を使用する必要があります。
1.2これ
this
文には3つの機能があります。
1.2.1プレフィックスthis.
はクラス変数を表し、仮パラメータと区別します。
1.2.2プレフィックスthis.
はクラスメソッドを表し、同じ名前のメソッドと区別します。
1.2.3this(形参1,形参2,...)
は、コンストラクターを参照するためにも使用できます。
1.3抽象クラスとインターフェース
抽象クラス:そのメソッドには抽象メソッドが含まれています。
フォーマットは
public abstract class A
{
public abstract void B();
}
インターフェイス:「メソッド」が実装されていない特別なクラス。
フォーマットは
public interface A
{
public void B();
}
通常のクラスが抽象クラスとインターフェイスを継承する場合、すべてのメソッドを実装する必要があります。
1.4変換、ポリモーフィズムとデカップリング、契約精神
1.4.1変換
変換ルール:
通常の状況では、子クラスは親クラスに変換できますが(親クラスのすべての情報が含まれているため)、親クラスを子クラスに変換することはできません。ただし、親クラスがサブクラスから変換されると、元のサブクラスになるように再度変換できます。
これは
Father object1 = new Son();//legal
Son object2 = new Father();//illegal
Son object3 = (Son) object1;//legal
/*这是针对一个具体对象而言的*/
1.4.2ポリモーフィズムとデカップリング
変換は、ポリモーフィズムとデカップリングを実現します。
ポリモーフィズムにより、プログラムのコードに多くのシードクラスの異なるメソッド含意を含める
ことができます。デカップリングにより、2つのクラス間の「依存関係」を減らすことができます。コードを作成する場合、プログラマーは他のクラスを心配しながらオブジェクトを作成する必要はありません。それを持つオブジェクト。
1.4.3契約の精神
インターフェイスの存在により、サブクラスは、コントラクトの精神である統一された仕様を持つことができます。
ただし、ポリモーフィズムの存在により、各サブクラスは異なる意味合いを持つことができるため、統制のとれたJAVAコードと無料のJAVAコードの両方が実現されます。