類的繼承定義一個computer類在此基礎上派生出兩個子類(繼承與多態綁定)
阿新 • • 發佈:2018-05-16
end 其中 調用 turn .get str 兩個 pac AR
題目如下
定義一個計算機類(Computer),並在它的基礎上派生出兩個子類:臺上機(Desktop)和便攜機類(Notebook),在Computer中定義幾個方法,並在子類Desktop和Notebook中覆蓋這些方法。在main方法中利用對象類型轉換將類Desktop和Notebook的對象分別賦值給Computer對象,並應用多態調用這些方法。
實驗目的
(1) 理解繼承的概念,掌握繼承的語法。
(2) 學習定義和使用子類。
(3) 掌握繼承過程中的方法覆蓋,區分它與方法重載的不同。
(4) 掌握對象類型之間的轉換規則。
(5) 掌握多態與動態綁定。
實驗步驟
(1) 定義父類Computer,其中包括方法f1和f2;
(2) 定義子類Desktop繼承於父類Computer,在其中覆蓋方法f1和f2;
(3) 定義子類Notebook繼承於父類Computer,在其中覆蓋方法f1和f2;
(4) 定義一個包含main方法的類;
(5) 在main方法中創建一個Desktop對象,將它賦值給Computer類的對象c1,並通過對象c1調用方法f1和f2;
(6) 在main方法中創建一個Notebook類的對象,將它賦值給Computer類的對象c2,並通過對象c2調用方法f1和f2。
實現如下
文件一:Computer.java
1 package shangji20180514; 2 3 public class Computer { 4 String name; 5 int coreNumber; 6 void setName(String nam){ 7 name = nam; 8 } 9 String getName() { 10 return name; 11 } 12 }
文件二:Desktop.java
1 package shangji20180514; 23 public class Desktop extends Computer { 4 void setName(String nam) { 5 name = "D-"+nam; 6 } 7 String getName() { 8 return name+"-D"; 9 } 10 }
文件三:Notebook.java
1 package shangji20180514; 2 3 public class Notebook extends Computer{ 4 void setName(String nam) { 5 name = "N-"+nam; 6 } 7 String getName() { 8 return name+"-N"; 9 } 10 }
文件四:ComputerTest.java
1 package shangji20180514; 2 3 public class ComputerTest { 4 5 public static void main(String[] args) { 6 // TODO Auto-generated method stub 7 Desktop c1 = new Desktop(); 8 c1.setName("desktop01"); 9 System.out.println(c1.getName()); 10 11 Notebook c2 = new Notebook(); 12 c2.setName("notebook01"); 13 System.out.println(c2.getName()); 14 15 } 16 17 }
類的繼承定義一個computer類在此基礎上派生出兩個子類(繼承與多態綁定)