实验二 Java语言中的面向对象编程技术
实验目的
1、理解Java语言的面向对象编程思想 2、掌握Java中类的创建及其实例化方法 3、掌握类中成员变量与成员方法的特性 4、掌握Java中类的继承与多态的实现方法 5、掌握Java中this和super变量的使用方法
6、了解JDK帮助文档的使用,重点了解系统类System、Date、Calendar、Math等的使用
实验过程
1、编写一个Java应用程序,该程序中有3个类:Triangle、Ladder和Circle,分别用来刻画“三角形”、“梯形”和“圆形”。具体要求如下:
a) Triangle类具有类型为double的三个边,以及周长、面积属性,Triangle类具有返回周长、面积以及修改三个边的功能。另外,Triangle类还具有一个boolean型的属性,该属性用来判断三个属性能否构成一个三角形。
b) Ladder类具有类型double的上底、下底、高、面积属性,具有返回面积的功能。 c) Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能。
2、编写程序模拟中国人、美国人是人,北京人是中国人。除了主类外,程序中有4个类:People、ChinaPeople、AmericanPeople和BeijingPeople类。要求如下:
1)People类为抽象类,含有权限为protected的double类型成员变量height和weight,以及public void speakHello()、public void averageHeight()和public void averageWeight()方法;
2)ChinaPeople类是People的子类,新增public void chinaKongfu()方法,还要实现父类的public void speakHello()、public void averageHeight()和public void averageWeight()方法;
3)AmericanPeople类是People的子类,新增public void americanBoxing()方法,也要实现父类的public void speakHello()、public void averageHeight()和public void averageWeight()方法;
4)BeijingPeople类是ChinaPeople的子类,新增public void beijingOpera()方法,还要重写父类的public void speakHello()、public void averageHeight()和public void averageWeight()方法;
1
3、编写一个Java应用程序,要求有一个abstract类,类名为Employee,在该类中有一个为public类型、返回值为double的抽象方法earings()。Employee的子类有YearWorker、MonthWorker和WeekWorker。
同时,还有一个Company类,该类使用Employee对象数组作为成员,任意分配其中的成员为YearWorker、MonthWorker和WeekWorker,然后计算Company对象总计需要支付的薪水。
4、编写一个Java应用程序,利用三层类的继承,实现从系->专业->学生的简单管理。其中类为Dean、Major和Student。要求:
1)Dean类中包含系名、专业数量和枚举型变量-专业,定义display方法输出各个专业的名称及其统计之后的各专业的学生人数;
2)Major类中包含专业名称、班数以及每班人数、专业成立时间,同时还可以重写display方法按照班级输出学生;
3)Student类包含姓名、年龄、性别、籍贯,重写display方法输出学生的信息。
5、在程序中尝试使用this和super。要求定义Point(点)类,然后创建点的子类Line(线)。在Line子类中实现距离的计算和输出。
2