练习作业

【上机作业】【java】2010.4.6 抽象类的练习

抽象类的特点:
1.抽象类是用于定义父类用的,是供子类继承用的
2.抽象类中可以定义属性和方法(是子类所具有的公共属性和公共方法),还可以声明抽象方法
3.抽象类不能对象实例化(不能创建对象)

作业:1.定义一个抽象类shape,它包含一个抽象方法getArea(),从shape类派生出rectangle和circle类,这两个类都用getArea()方法计算对象的面积。编写应用程序使用rectangle和circle类。
要求:定义rectangle和circle类的构造方法,初始化成员变量

abstract class shape{
 abstract double getArea();
}

class rectangle extends shape{
 double lengh,wide;
 rectangle(double l,double w){
 lengh=l;
 wide=w;
 }
 double getArea(){
 return lengh*wide;
 }
}
class circle extends shape{
 double radii;
 circle(double r){
 radii=r;
 }
 double getArea(){
 return radii*radii*3.14;
 }
}
class display{
 public static void main(String []args){
 rectangle r=new rectangle(5.0,4.0);
 circle c=new circle(3.0);
 System.out.println(“rectangle’s Area is:”+r.getArea());
 System.out.println(“circle’s Area is:”+c.getArea());
 }
}

2.定义一个抽象类交通工具编写公共属性和方法
  定义汽车,轮船,火车等子类实现抽象类中的方法

abstract class Vehicle{
 String color;
 double speed;
 String kind;
 Vehicle(String c,double s){
 color=c;
 speed=s;
 }
 void show(){
 System.out.println(“—————————-“);
 System.out.println(“color is:”+color);
 System.out.println(“speed is:”+speed+” km/h”);
 System.out.println(“kind is :”+kind);
 }
}
class car extends Vehicle{
 car(String c,double s){
 super(c,s);
 kind=”car”;
 }
}

class ship extends Vehicle{
 ship(String c,double s){
 super(c,s);
 kind=”ship”;
 }
}

class train extends Vehicle{
 train(String c,double s){
 super(c,s);
 kind=”train”;
 }
}

class display2{
 public static void main(String []args){
 car c=new car(“blue”,50.0);
 ship s=new ship(“white”,40.0);
 train t=new train(“black”,100.0);
 c.show();
 s.show();
 t.show();
 }
}

发表评论

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