java基础 面向对象创建三个交通工具并完成其功能的试题 您所在的位置:网站首页 java中目录被看作 java基础 面向对象创建三个交通工具并完成其功能的试题

java基础 面向对象创建三个交通工具并完成其功能的试题

2023-09-08 00:44| 来源: 网络整理| 查看: 265

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 实验室设备网 版权所有