实验4 类的继承和多态机制

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
this.x =x;
this.y=y;
}
public int getX(){
return x;
}
public int getY(){
return y;
}
}
class Circle extends Point{
double r;
final double PI=3.1416;
public Circle(int x,int y,double m){
}
public double volumn(){
return super.circlearea()*h;
}
}
public classMain{
public static void main(String[] args) {
Cylinder cy1=new Cylinder(4,5,7,8);
System.out.Fra Baidu bibliotekrintln("圆柱体的相关信息:");
System.out.println("轴心坐标:("+cy1.x+","+cy1.y+")");
System.out.println("表面积"+cy1.biaoarea());
System.out.println("体积"+cy1.volumn());
}
}
2、定义交通工具类Vehicle,一个小车类Car,一个公共汽车Bus类。实现Car、Bus对Vehicle的继承。
Car car=new Car();
car.setSpeed(120);
car.setKind("越野车");
car.setColor("银灰色");
car.setPassenger(5);
car.getMessage();
Bus bus=new Bus();
bus.setSpeed(100);
bus.setKind("公交车");
bus.setColor("白色");
bus.setPassenger(50);
bus.getMessage();
}
}
class Vehicle{
double speed;
String kind;
String color;
void setSpeed(double speed){
this.speed=speed;
return kind;
}
public String getColor(){
return color;
}
}
class Car extends Vehicle{
int passenger;
void setPassenger(int passenger){
this.passenger=passenger;
已有一个交通工具类Vehicle,其中属性包括:速度speed、类别kind、颜色color;方法包括设置速度、设置类别、设置颜色、取得速度、取得类别、取得颜色。
设计一个小车类Car、一个公共汽车类Bus,继承自Vehicle,Car、Bus中增加了属性:座位数passenger,增加了设置和获取座位数的方法。
2、在子类中不能使用父类的构造方法的名字进行调用。
3、覆盖表现为父类与子类之间方法的多态性;重载表现为同一个类中方法的多态性。
4、与实例方法一样,静态方法能够被继承,但是静态方法不能被重写。
5、如果父类和子类都定义了相同的静态方法,那么父类中的方法将会被隐藏。
设计一个表示圆柱体的类Cylinder,它继承自类Circle,还包括表示圆柱体高的成员h、获取和设置h的方法、计算圆柱体表面积的方法、计算圆柱体体积的方法。
建立若干个Cylinder对象,输出其轴心位置坐标、半径、高、表面积及其体积的值。
class Point{
int x;
int y;
;public Point(int x,int y){
创建Car、Bus的对象,为其设置各属性,并显示其状态(所有属性)。
public classMain{
public static void main(String[] args) {
// TODO code application logic here
Vehicle ve=new Vehicle();
}
public int getPassenger(){
return passenger;
}
public void getMessage(){
System.out.println("车的速度是:"+getSpeed()+"; "+"车的种类是:"+getKind()+"; "+"车的颜色是:"
+getColor()+"; "+"车座位是:"+getPassenger());
System.out.println("车的速度是:"+getSpeed()+"; "+"车的种类是:"+getKind()+"; "+"车的颜色是:"
+getColor()+"; "+"车座位是:"+getPassenger());
}
}
四、实验记录与分析(可自拟或选择)
1、要调用父类构造方法必须使用关键字super,并且这个调用必须在构造方法的第一行。
三、实验步骤
1、定义点类Point、圆类Circle、圆柱体类Cylinder。实现继承关系。
设计一个表示二维平面上点的类Point,包括表示坐标位置的成员变量x和y,获取和设置x和y值的方法。
设计一个表示二维平面上圆的类Circle,它继承自类Point,还包括表示圆半径的成员变量r、获取和设置r值的方法、计算圆面积的方法。
public Cylinder(int x,int y,double r,double h){
super(x,y,r);
this.h=h;
}
public double getH(){
return h;
}
public double biaoarea(){
return 2*PI*r*r+2*PI*r*h;
}
}
class Bus extends Vehicle{
int passenger;
void setPassenger(int passenger){
this.passenger=passenger;
}
public int getPassenger(){
return passenger;
}
public void getMessage(){
super(x,y);
r=m;
}
public double getR(){
return r;
}
public double circlearea(){
return PI*r*r;
}
}
class Cylinder extends Circle{
double h;
final double PI=3.1416;
实验4类的继承和多态机制
一、实验目的
1、掌握类的继承机制;
2、掌握子类对父类构造方法的调用;
3、掌握方法覆盖和方法重载的区别。
二、实验内容
1、定义点类Point、圆类Circle、圆柱体类Cylinder。实现继承关系。
2、定义交通工具类Vehicle,一个小车类Car。实现Car对Vehicle的继承。
}
void setKind(String kind){
this.kind=kind;
}
void setColor(String color){
this.color=color;
}
public double getSpeed(){
return speed;
}
public String getKind(){
相关文档
最新文档