【上机作业】【java】2010.3.30 类的继承练习
医生有姓名(name)、编号(idNumber)和地址(address)等基本信息,医生又分为专业医生和非专业医生。
非专业医生所具有的信息与上述的一样,但专业医生除了具有上述的基本信息外,还有特有的信息:专业(speciality)。
请根据他们之间的关系,创建一个Doctor类,以包含有关医生的基本信息,再利用继承创建一个非专业医生类NonSpecialist和一个专业医生类Specialist,并利用这些类的对象显示它们各自的信息。
class Doctor{
String name,idnumber,address;
Doctor(String n,String i,String a){
this.name=n;
this.idnumber=i;
this.address=a;
}
public void show(){
System.out.println(“姓名:”+name);
System.out.println(“编号:”+idnumber);
System.out.println(“地址:”+address);
}
}
class NonSpecialist extends Doctor{
NonSpecialist(String n,String i,String a){
super(n,i,a);
}
}
class Specialist extends Doctor{
String speciality;
Specialist(String n,String i,String a,String s){
super(n,i,a);
this.speciality=s;
}
public void show(){
System.out.println(“姓名:”+name);
System.out.println(“编号:”+idnumber);
System.out.println(“地址:”+address);
System.out.println(“专业:”+speciality);
}
}
class displa{
public static void main(String []args){
NonSpecialist n=new NonSpecialist(“zjl”,”1000001″,”asdfadsfasd”);
Specialist s=new Specialist(“abc”,”1000002″,”adfafg”,”外科”);
n.show();
System.out.println(“————————————————-”);
s.show();
}
}
2.设计一个表示二维平面上点的类Point,包含有表示坐标位置的protected类型的成员变量x和y,获取和设置x 和y值的public方法。
设计一个表示二维平面上圆的类Circle,它继承自类Point,还包含有表示圆半径的protected类型的成员变量r、获取和设置r值的public方法、计算圆面积的public方法。
2)设计一个表示圆柱体的类Cylinder, 它继承自类Circle还包含有表示圆柱体高的protected类型的成员变量h、获取和设置h值的public方法、计算圆柱体体积的public方法。
实验要求
建立若干个Cylinder对象,输出其轴心位置坐标、半径、高及其体积的值。
class Point{
protected int x,y;
/*Point(int x,int y){
this.x=x;
this.y=y;
}*/
public void option(int x,int y){
this.x=x;
this.y=y;
}
public int get_x(){
return this.x;
}
public int get_y(){
return this.y;
}
}
class Circle extends Point{
protected int r;
public void option(int x,int y,int r){
super.option(x,y);
this.r=r;
}
public int get_r(){
return this.r;
}
public double get_area(){
return (double)(3.14*r*r);
}
}
class Cylinder extends Circle{
protected int h;
public void option(int x,int y,int r,int h){
super.option(x,y,r);
this.h=h;
}
public int get_h(){
return this.h;
}
public double get_volume(){
return (double)(3.14*r*r*h);
}
}
class display{
public static void main(String []args){
Cylinder c1=new Cylinder();
Cylinder c2=new Cylinder();
Cylinder c3=new Cylinder();
c1.option(1,2,3,4);
c2.option(4,3,2,1);
c3.option(2,2,2,2);
System.out.println(“x:”+c1.get_x()+”ny:”+c1.get_y()+”nr:”+c1.get_r()+”nh:”+c1.get_h()+”nvolume:”+c1.get_volume());
System.out.println(“————————————————-”);
System.out.println(“x:”+c2.get_x()+”ny:”+c2.get_y()+”nr:”+c2.get_r()+”nh:”+c2.get_h()+”nvolume:”+c2.get_volume());
System.out.println(“————————————————-”);
System.out.println(“x:”+c3.get_x()+”ny:”+c3.get_y()+”nr:”+c3.get_r()+”nh:”+c3.get_h()+”nvolume:”+c3.get_volume());
}
}