实实验验33 类类与与对对象象((22))
3.1、实验目的
? 进一步掌握类的定义和对象的创建
? 掌握访问控制符的关系(public、priviate、protect)
3.2、实验准备
(1) JDK安装 (2) Eclipse的安装 (3) 书本第四章节的复习
3.3、实验内容与要求
一、编写一个Java应用程序,该程序中有3个类:Trangle、Ladder和Circle,分别用来刻画“三角形”、“梯形”和“圆形”。具体要求如下:
a) Trangle类具有类型为double的三个边,以及周长、面积属性,Trangle类具有返回周长、面积以及修改三个边的功能。另外,Trangle类还具有一个boolean型的属性,该属性用来判断三个属能否构成一个三角形。
b) Ladder类具有类型double的上底、下底、高、面积属性,具有返回面积的功能。 c) Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能
二、编写一个StringUtils类,实现十进制到八进制的转换并输出。需要一个测试类加以测试
实实验验44 继继承承与与多多态态((11))
4.1、实验目的
(1)掌握Java类的继承关系和派生方法。 (2)理解多态的概念和使用。
4.2、实验准备
(1) JDK安装 (2) Eclipse的安装 (3) 书本第五章节的复习
4.3、实验内容与要求
1. 阅读如下所示的3个Java类的定义,分析它们之间的关系,写出运行结果。 1: class SuperClass { 2: int x;
3: SuperClass() { 4: x=3;
5: System.out.println(\6: }
7: void doSomething() {
8: System.out.println(\9: }
7
11:}
1: class SubClass extends SuperClass { 2: int x;
3: SubClass() {
4: super(); //调用父类的构造方法
5: x=5; //super( ) 要放在方法中的第一句 6: System.out.println(\7: }
8: void doSomething( ) {
9: super.doSomething( ); //调用父类的方法
10: System.out.println(\11: System.out.println(\12: } 14:}
1: import java.io.*;
2: public class Inheritance {
3: public static void main(String args[]) { 4: SubClass subC=new SubClass(); 5: subC.doSomething(); 6: } 7: }
2.假定根据学生的3门学位课程的分数决定其是否可以拿到学位,对于本科生,如果3门课程的平均分数超过60分即表示通过,而对于研究生,则需要平均分超过80分才能够通过。根据上述要求,请完成以下Java类的设计: (1)设计一个基类Student描述学生的共同特征。
(2)设计一个描述本科生的类Undergraduate,该类继承并扩展Student类。 (3)设计一个描述研究生的类Graduate,该类继承并扩展Student类。
(4)设计一个测试类StudentDemo,分别创建本科生和研究生这两个类的对象,并输出相关信息。
实实验验55 继继承承与与多多态态((22))
5.1、实验目的
(1)掌握抽象类的概念及使用。 (2)掌握接口的概念和实现方式。 (3)理解抽象类和接口的区别。
5.2、实验准备
(1) JDK安装 (2) Eclipse的安装 (3) 书本第五章节的复习
5.3、实验内容与要求
1.分析下列程序的输出结果。 interface Myface{ int getnext(); void setstart(int x); }
class Add3 implements Myface{ int sta,val; Add3(){ sta=0;val=0;
9
}
public int getnext(){ val+=3; return val; }
public void setstart(int i){ sta=i; val=i; } }
public class Face{
public static void main(String args[]){ Add3 a=new Add3(); for(int i=0;i<5;i++)
System.out.println(a.getnext()); System.out.println();
a.setstart(10);
for(int i=0;i<5;i++)
System.out.println(a.getnext()); } }
2.按照要求编写Java Application程序。
假定要为某个公司编写雇员工资支付程序。这个公司有各种类型的雇员(Employee),不同类型的雇员按不同的方式支付工资:
经理(Manager):每月获得一份固定的工资;
销售人员(Salesman):在基本工资的基础上每月还有销售提成;
一般工人(Worker):则按他每月工作的天数计算工资。 试用类的继承及相关机制描述这些功能需求,并编写一个Java Application程序,演示这些类的用法。