生活コードJAVA-継承


1.コース紹介


クラスが持つ変数とメソッドを拡張および継承し、他のクラスがこれらの変数とメソッドを持つようにします.
再使用、メンテナンス、および読み取り可能な強化コードの数を削減
class Cal{
	public int sum(int v1, int v2) {
		return v1+v2;
	}
}

class Cal3 extends Cal{
	
}

public class InheritanceApp {

	public static void main(String[] args) {
		Cal c = new Cal();
		System.out.println(c.sum(2, 1));
		
		Cal3 c3 = new Cal3();
		System.out.println(c3.sum(2, 1));


	}

}
extendsでは、拡張、継承、および使用が可能

二、機能の改善と発展


親にない機能の追加->Overridingと呼ばれます.存在の根本原因を受け継ぐ
class Cal{
	public int sum(int v1, int v2) {
		return v1+v2;
	}
}

class Cal3 extends Cal{
	public int minus(int v1, int v2) {
		return v1-v2;
	}
	// Overriding : 덮어쓰다
	public int sum(int v1, int v2) {
		System.out.println("Cal3!!");
		return v1+v2;
	}
}

public class InheritanceApp {

	public static void main(String[] args) {
		Cal c = new Cal();
		System.out.println(c.sum(2, 1));
		
		Cal3 c3 = new Cal3();
		System.out.println(c3.sum(2, 1));
		System.out.println(c3.minus(2, 1));
		System.out.println(c3.sum(2, 1));


	}

}

3. Overriding vs Overloading


Overriding:親を上書き->再定義
オーバーロード:オーバーロード、オーバーロード、継承に関係ありません.
Javaは複数の同名メソッドをオーバーロードできます.どうしよう.形が違う限り.
class Cal{
	public int sum(int v1, int v2) {
		return v1+v2;
	}

}

class Cal3 extends Cal{
	public int minus(int v1, int v2) {
		return v1-v2;
	}
	// Overriding : 덮어쓰다
	public int sum(int v1, int v2) {
		System.out.println("Cal3!!");
		return v1+v2;
	}
	// Overloading
	public int sum(int v1, int v2, int v3) {
		return v1+v2+v3;
	}
}

4. this & super


自己
super:自分の両親
class Cal{
	public int sum(int v1, int v2) {
		return v1+v2;
	}
	// Overloading
	public int sum(int v1, int v2, int v3) {
		return this.sum(v1,v2)+v3;
	}
}

class Cal3 extends Cal{
	public int minus(int v1, int v2) {
		return v1-v2;
	}
	// Overriding : 덮어쓰다
	public int sum(int v1, int v2) {
		System.out.println("Cal3!!");
		return super.sum(v1, v2);
		
	}

}
superは親の発展を継承し,これは自分を呼び出すことによって継承される.

5.継承と生成者


作成者:メソッド名がクラス名と同じで、戻りタイプがないメソッド
オブジェクトを作成するには、オブジェクト変数に無条件の値を設定する必要があります.
class Cal{
	int v1, v2;
	Cal(int v1, int v2){
		this.v1 = v1; this.v2 = v2;
		System.out.println("Cal init!!");
	}
	public int sum() {return this.v1+v2;}
}
class Cal3 extends Cal{

	Cal3(int v1, int v2) {
		super(v1, v2);
		System.out.println("Cal3 init!!");
	}
	public int minus() {return this.v1-v2;}
}

public class InheritanceApp {

	public static void main(String[] args) {
		Cal c = new Cal(2,1);
		Cal3 c3 = new Cal3(2,1);
		System.out.println(c3.sum()); //3
		System.out.println(c3.minus()); //2

	}

}

6.授業が終わる


次に学ぶテーマ




秩序の整然とした混沌は自由である.
これらは制限と見なすことができる.