有汽车想到的java类复用

   复用可通过继承和组合实现;一般情况是复用和组合相结合,来实现对象设计;

  例如:Car 类;

     1.轮子,这个部件的种类不多,可以设计一个轮子基类Wheel,它产生不同的轮子子类;设置轮子的大小height,增加轮子滚动的方法run()..

    2.发动机:发动机各种各样;也可以设计一个基类,然后各种子类;设置发动机的马力power,设置发动机开启的fire();

    3.轴承:各种....

....

反正很多部件,这些部件可以以组合的形式造一辆车;但具体的车是啥样的呢,还是看他的属性;似乎还可以加上汽车运行的方法start(),发动机点火的fire(),轮子转到的方法 run();

public class Car{

    private   Wheel wheel;

    private   Engine  engine;

....省略n行代码

    private  CarStart carStart;//这里定义为接口

    public  Car( Wheel wheel, Engine engine..){

        this.wheel = wheel;

       this.engine = engine;

        ...//一些算法得出需要new的 carStart实例

        }

    public  start(){

        carStart.start(wheel,engine...);

            }

}

interface Carstart{

            public start(wheel,engine...);

}

class  FirstStart implements Carstart{

            public start(wheel,engine...){};

}

但我们造完各个部件的子类之后,用构造方法直接拼在一起,start()它就ok了.

最后,好的抽象才能设计出好的类;欢迎来喷.

你可能感兴趣的:(类的复用)