java基础 面向对象创建三个交通工具并完成其功能的试题 | 您所在的位置:网站首页 › java中目录被看作 › java基础 面向对象创建三个交通工具并完成其功能的试题 |
java基础 面向对象试题
题目: 现有交通工具(Seater),出租车(Taxi),客机(Airliner),客船(Ship)都属于交通工具。 各交通工具都有品牌(brand)字段和载客行为(manned)。 客机实现了IFly接口中定义的飞天的功能fly(), 出租车实现了IRun接口中定义的道路上跑的功能run(), 客船实现了ISwim接口中定义的游的功能swim()。 要求: 1)用继承和接口,模拟各交通工具和功能的关系,功能用接口。 2)请在测试类的main方法中用多态的知识, 调用出租车的run方法,打印“出租车开始跑了”, 调用飞机的fly方法,打印“飞机开始飞天了”, 调用客船的swim方法,打印“船舶开始在海洋中漂泊了”, 用到的知识点和思路:用继承和接口还有多态 用接口是为了强制他们的规范 用多态是因为以后会经常用到 所有现在就强加进去 这道题其实是不要用到多态的 用继承 继承父类有的所有交通类都有的品牌(brand)字段和载客行为(manned)并规范他们 用多态访问他们的子类的方法用强制转换 代码如下: 父类代码: package com.cen.Object_oriented.day03._08_Seater; public class Seater { //创建两个交通工具的品牌和名字 private String brand; private String manned; public String getBrand() { return brand; } //空构造器 public Seater(){ } public void setBrand(String brand) { this.brand = brand; } public String getManned() { return manned; } public void setManned(String manned) { this.manned = manned; } public Seater(String brand, String manned) { this.brand = brand; this.manned = manned; } public void Passenger(){ } } 出租车类: public class Taxi extends Seater implements IRun{ @Override public void run() { System.out.println("出租车开始跑了"); } public void Passenger(){ System.out.println("有载客行为"); } } 出租车接口: public interface IRun { void run(); } 轮船类: public class Ship extends Seater implements ISwim { @Override public void swim() { System.out.println("船舶开始在海洋中漂泊了"); } public void Passenger(){ System.out.println("有载客行为"); } } 轮船接口规范: public interface ISwim { void swim(); } 飞机类: public class Airliner extends Seater implements IFly { @Override public void fly() { System.out.println("飞机开始飞天了"); } public void Passenger(){ System.out.println("有载客行为"); } } 飞机接口规范: public interface IFly { void fly(); } 测试代码: public class Team { public static void main(String[] args) { Seater s = new Taxi(); s.setBrand("牛车牌"); s.setManned("咔咔在路上走"); System.out.println(s.getBrand()); System.out.println(s.getManned()); Taxi a = (Taxi)s; a.run(); s.Passenger(); System.out.println("------------------------------------------"); Airliner al = new Airliner(); al.setBrand("小鸟牌"); al.setManned("叽叽在天上飞"); System.out.println(al.getBrand()); System.out.println(al.getManned()); al.fly(); al.Passenger(); System.out.println("------------------------------------------"); Ship sh = new Ship(); sh.setBrand("金油鱼牌"); sh.setManned("在海底爬"); System.out.println(sh.getBrand()); System.out.println(sh.getManned()); sh.swim(); sh.Passenger(); } 测试结果:![]() |
CopyRight 2018-2019 实验室设备网 版权所有 |