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

java基础 面向对象创建三个交通工具并完成其功能的试题java 基础 面向对象试题 题目 现有交通工具 Seater 出租车 Taxi 客机 Airliner 客船 Ship 都属于交通工具 各交通工具都有品牌 brand 字段和载客行为 manned

大家好,我是讯享网,很高兴认识大家。
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(); } 
测试结果:在这里插入图片描述
小讯
上一篇 2025-04-04 17:10
下一篇 2025-02-20 23:05

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/129504.html