1、班级: 姓名: 学号: 成绩 实验二 Java 面向对象技术必做实验目的:1. 理解继承的概念2. 掌握继承的实现3. 理解继承中的覆盖现象4. 理解抽象类的概念,掌握定义抽象类的方法和应用5. 掌握接口的定义和实现接口的方法实验数据记录及分析(或程序及运行结果)1. 按照要求完成程序:1) 第一个类是图形类(Shape) ,含有一个成员变量color(字符串类型) ,一个没有参数的构造方法,以及一个有一个字符串类型参数的构造方法来初始化颜色变量,还有一个返回颜色变量值的成员方法getColor,一个toString()方法,以及一个抽象方法getArea获取面积,返回值为double类型;2
2、) 第二个类是圆形类(Circle)继承自图形类,含有一个成员变量半径r,有一个有两个参数的构造方法,来初始化颜色和半径,一个toString()方法,一个方法getArea,返回值为double ,获取圆的面积值。3) 第三个类是矩形类(Rectangle)继承自图形,含有两个double类型的成员变量长a和宽 b,有一个有三个参数的构造方法,来初始化颜色、长和宽,一个toString()方法,一个方法getArea,返回值为double,获取矩形的面积值。 、4) 第四个类是测试类(TestShape) ,声明一个图形引用变量,分别指向圆形类和矩形类的实例对象,并用 toString 方法
3、和 getArea 方法来测试方法的“多态性” (由动态绑定引起) 。2. 根据要求完成程序:1) 定义名称为 PCI 的接口,包括启动的方法 start 和关闭的方法 stop;2) 定义名称为 NetworkCard 的类表示网卡,实现 PCI 接口,并且其在实现 start 方法时输出“sending data”,在实现 stop 方法时输出“network stop.”3) 定义名称为 SoundCard 的类表示声卡,实现 PCI 接口;并且其在实现 start 方法时输出“dudu” ,在实现 stop 方法时输出 “sound stop.”4) 定义名称为 MainBoard 的
4、类表示主板,包含方法 public void usePCICard(PCI p),在方法体内通过 p 来启动和关闭组件5) 定义一个包含 main 方法的 Test 类,在 main 方法内创建一个MainBoard 对象用 mb 来引用,创建一个 NetworkCard 对象用 nc 来引用,创建一个 SoundCard 对象用 sc 来引用,分别通过 mb 来使用usePCICard(PCI p)启动声卡和网卡。3. 按照要求完成程序public class Testpublic static void main(String args)System.out.println(“创建父类对象
5、:“);SuperClass sc0 = new SuperClass();System.out.println(“n 创建第一个子类对象: “);SubClass sc1 = new SubClass();System.out.println(“n 创建第二个子类对象: “);SubClass sc2 = new SubClass(1);class SuperClassSuperClass( )System.out.println(“父类的构造函数“);class SubClass extends SuperClassSubClass( )System.out.println(“子类的第一个构造函数“);SubClass(int i)System.out.println(“子类的第二个构造函数“);要求:去掉 SubClass 的所有构造函数,然后将 Test 类中 main 方法的最后两行语句删除。预测修改后程序的运行结果,并进行验证。运行结果是:创建父类对象:父类的构造函数创建第一个子类对象:父类的构造函数子类的第一个构造函数