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(); }


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