练习作业

【上机作业】【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());
 }
}

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注