Java实验4:类的继承与多态

实验内容:

(1)请编程实现如下需求:乐器(Instrument)分为:钢琴(Piano)、小提琴(Violin)、大提琴(Cello),三种乐器的弹奏play()方法各不相同。编写一个测试类InstrumentTest,要求编写方法testPlay(Instrument in),对这三种乐器进行弹奏测试。要依据乐器的不同,进行相应的弹奏测试,在main()方法中进行测试。


class Piano extends Instrument{
    public void play(){
        System.out.println("钢琴演奏");
    }
}
class Violin extends Instrument{
    public void play(){
        System.out.println("小提琴演奏");
    }
}
class Cello extends Instrument{
    public void play(){
        System.out.println("大提琴演奏");
    }
}
class Instrument{
    public void play(){
        System.out.println("Instrument");
    }
}
public class InstrumentTest {
    public static void main(String[] args){
        Instrument Instrument1=new Piano();
        Instrument1.play();
        Instrument Instrument2=new Violin();
        Instrument2.play();
        Instrument Instrument3=new Cello();
        Instrument3.play();
    }
}

程序设计思路:
定义一个父类,三个子类继承父类,对父类中play方法进行重写。用到方法重写。

(2)定义Mother类及其属性(身高、体重、年龄)和方法(工作、做家务);定义Daughter类继承Mother类,并增加一些属性(爱好)和方法(看动画片)。定义一个类UseExtends,在该类的main方法中创建一个名为daughter的对象,使用Mother类和Daughter类的属性和方法进行测试。

class Mother{
    int height;
    double weight;
    int age;
    public void work(){
        System.out.println("妈妈正在工作");
    }
    public void housework(){
        System.out.println("妈妈正在做家务");
    }
}
class Daughter extends Mother{
    String hobby;
    public void like(){
        System.out.println("我喜欢看动画片");
    }
}
public class UseExtends {
    public static void main(String[] args){
        System.out.println("测试继承类(女儿)");
        Daughter daughter=new Daughter();
        daughter.hobby="跳舞";
        System.out.println("女儿的爱好是:"+daughter.hobby);
        daughter.like();
        daughter.age=20;
        daughter.height=150;
        daughter.weight=100;
        System.out.println("我的年龄是:"+daughter.age+'\n'+"我的身高是:"+daughter.height+'\n'+"我的体重是:"+daughter.weight);
        System.out.println("测试父类(妈妈):");
        daughter.work();
        daughter.housework();
    }
}

程序设计思路:
定义父类,子类继承父类并增加属性和方法。

(3)定义一个交通工具类Vehicle,包含属性(speed, name, color)和方法(start, stop, run);再定义一个飞行器子类Aircraft继承自Vehicle类。然后从Aircraft类派生两个子类:航天飞机(SpaceShuttle)和喷气式飞机(Jet)。

package java_experiment_four;
class Aircraft extends Vehicle{
	public void state() {
		System.out.println("飞行类交通工具");
	}
}
class SpaceShuttle extends Aircraft{
	public void state() {
		System.out.println("飞行类交通工具中的航天飞机");
	}
}
class Jet extends Aircraft{
	public void state() {
		System.out.println("飞行类交通工具中的喷气式 飞机");
	}
}
public class Vehicle {
	public int speed;
    public String name;
    public String color;
    public void start(){
    	System.out.println("起步");
    }
    public void stop(){
    	System.out.println("停止");
    }
    public void run(){
    	System.out.println("加速");
    }
	public static void main(String[] args) {
		Aircraft Aircraft1=new Aircraft();
		Aircraft Aircraft2=new Aircraft();
		Aircraft Aircraft3=new SpaceShuttle();
		Aircraft Aircraft4=new Jet();
		Aircraft1.start();
		Aircraft1.run();
		Aircraft2.stop();
		Aircraft1.state();
		Aircraft3.state();
		Aircraft4.state();
	}

}

程序设计思路:
定义类Vehicle,Aircraft继承Vehicle类,航天飞机(SpaceShuttle)和喷气式飞机(Jet)再继承Aircraft类。

类名大写

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值