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


題目如下

定義一個計算機類(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 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM