类的继承定义一个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 }

猜你喜欢

转载自www.cnblogs.com/peng-free/p/9047900.html
今日推荐