类的继承定义一个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 }?
轉載于:https://www.cnblogs.com/peng-free/p/9047900.html
總結
以上是生活随笔為你收集整理的类的继承定义一个computer类在此基础上派生出两个子类(继承与多态绑定)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android之内存泄露、内存溢出、内存
- 下一篇: 漫画谈-微积分(一)