多型的方法和成員變數的呼叫,初級工廠模式

2021-10-07 09:53:03 字數 718 閱讀 2818

多型就是父類指向子類物件,比如 動物 動物= new 老虎();動物 動物= new 獅子();獅子老虎都繼承動物,然後重寫動物中的方法,這種乙個父類多種狀態就是多型。

public abstract class fu

//再來乙個沒有重寫的

public void me()

} //兩個子類繼承

public class zi1 extends fu

}public class zi2 extends fu

}main函式()

fu f=new zi1(); //f不能呼叫zi1的私有方法,需要向下轉型

zi1 zi= (zi1) fu;

通過物件名訪問變數時,=號左邊是誰就呼叫誰的。

fu f=new zi();

print(f.num) //此時輸出的是父類的num

一句話,變數使用看左,方法看右邊 =號左邊是父類,優先使用父類的變數,右邊是誰,優先使用誰的方法。

//建工廠,用名字來建立物件。

public class fu

public fu(string name)else if }}

格式較統一

fu f =new zi1();

fu f2=new zi2();

多型情況下,成員方法和成員變數的呼叫

多型情況下,父類的引用呼叫和子類同名的普通成員變數,使用的是父類自己的成員變數 多型情況下,父類的引用呼叫和子類同名的普通成員方法,使用的是子類自己的成員方法 多型情況下,父類的引用呼叫和子類同名的靜態成員方法,使用的是父類的靜態成員方法 多型情況下,父類的引用不能呼叫子類特有的成員變數。參考總結就...

多型 成員變數和成員方法的多型性

1 成員方法的多型性 public class polymorphism class basepolymorphism public void method1 此方法會被子類的同名方法覆蓋 public void method2 private void method3 class subpolym...

多型和虛方法的呼叫

1.多型 多型 是指在乙個程式中相同的名字表示不同的含義。編譯時的多型 過載 多個同名的不同的方法.例如我們給定的引數個數不同執行不同的功能。執行時的多型 覆蓋 子類對父類方法的覆蓋。動態繫結 虛方法呼叫。在呼叫方法時,程式會正確呼叫子類方法的物件。多型的特點大大提高了程式的抽象程度和簡潔性。2.上...