生活コード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.授業が終わる
次に学ぶテーマ
秩序の整然とした混沌は自由である.
これらは制限と見なすことができる.
Reference
この問題について(生活コードJAVA-継承), 我々は、より多くの情報をここで見つけました https://velog.io/@chss3339/JavaInheritanceテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol