首页 > 其他 > 详细

用继承和组合的知识构造一辆汽车,功能需求见注释

时间:2019-04-27 00:23:12      阅读:189      评论:0      收藏:0      [点我收藏+]
package com.Summer_0425.cn;

/**
 * @author Summer
 * 需求分析:
 * 发动机Engine:启动start 停止stop
 * 轮子Wheel:充气inflate(int 容量)
 * 车窗Window:开roolUp 降roolDown
 * 车门Door: 开open 关close  门上有窗
 * 汽车Car:
 *    有一个发动机
 *    4个轮子
 *    2个门
 */

//发动机
class Engine{
    public void start(){System.out.println("发动机启动");}
    public void stop(){System.out.println("发动机停止");}
}

//轮子
class Wheel{
    public void inflate(int num){System.out.println("给车轮充气"+num);}
    
}

//车窗
class Window{
    public void roolUp(){System.out.println("车窗升");}
    public void roolDown(){System.out.println("车窗降");}
}

//车门
class Door{
    Window win =  new Window();//车门上有窗户,使用组合的方式
    public void start(){System.out.println("发动机启动");}
    public void stop(){System.out.println("发动机停止");}
    public void open() {
        // TODO Auto-generated method stub
        
    }
    public void close() {
        // TODO Auto-generated method stub
        
    }
}

class Car{
    Engine engine;//使用组合的方式
    Wheel [] wheel;
    Door [] door;
    Car(){
        engine = new Engine();
        wheel = new Wheel[4];
        for (int i = 0; i < wheel.length; i++) {
            wheel[i] = new Wheel();
        }
        door = new Door[2];
        for (int i = 0; i < door.length; i++) {
            door[i] = new Door();
        }
    }
}

public class Tset02 {

    public static void main(String[] args) {
        Car car = new Car();
        for (int i = 0; i < car.wheel.length; i++) {//给四个轮子充气
        car.wheel[i].inflate(100);
            
        }
        car.engine.start();
        car.door[0].win.roolUp();
        car.door[1].win.roolDown();
        car.door[0].open();
        car.door[1].close();
        car.engine.stop();

    }

}

 

用继承和组合的知识构造一辆汽车,功能需求见注释

原文:https://www.cnblogs.com/summerdata/p/10777190.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!