1. 程式人生 > >類的繼承定義一個computer類在此基礎上派生出兩個子類(繼承與多態綁定)

類的繼承定義一個computer類在此基礎上派生出兩個子類(繼承與多態綁定)

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;
 2
3 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類在此基礎上派生出兩個子類(繼承與多態綁定)