dljd_001_通过接口降低程序的耦合度

一、需求

  假设让我们写一个人驾驶迈腾的功能,那么我们如何去设计?

二、功能实现

  2.1一般人会通过聚合的方式实现

  聚合:是一种强的关联关系。是整体和个体之间的关系。如胳膊类和人类。个人理解聚合关系是一种have a的拥有关系。

  

package edu.aeon.demo;
/**
 * [说明]:迈腾类
 * @author aeon(qq:1584875179)
 *
 */
public class MaiTen {
    /**
     * 行驶
     */
    public void run(){
        System.out.println("MaiTen.run()");
        System.out.println("迈腾在行驶!");
    }
    /**
     * 停止
     */
    public void stop(){
        System.out.println("MaiTen.stop()");
        System.out.println("迈腾停下来了!");
    }
}
package edu.aeon.demo;
/**
 * [说明]:人类
 * @author aeon(qq:1584875179)
 *
 */
public class Person {
    
    private MaiTen maiTen;
    //getter/setter
   
    public MaiTen getMaiTen() {
        return maiTen;
    }
    
    public void setMaiTen(MaiTen maiTen) {
        this.maiTen = maiTen;
    }
    
    /**
     * 驾驶
     */
    public void drive(){
        System.out.println("Person.drive()");
        maiTen.run();
        maiTen.stop();
    }
}
package edu.aeon.demo;
/**
 * [说明]:测试类
 * @author aeon(qq:1584875179)
 *
 */
public class Test {

    public static void main(String[] args) {
        Person person=new Person();
        MaiTen maiTen=new MaiTen();
        person.setMaiTen(maiTen);
        person.drive();
    }

}

  测试结果截图:

  

  二、使用依赖关系

  依赖关系是类与类之间的联接。一个类依赖于另一个类的定义。如人驾驶迈腾必须要依赖迈腾。

package edu.aeon.demo;
/**
 * [说明]:迈腾类
 * @author aeon(qq:1584875179)
 *
 */
public class MaiTen {
    /**
     * 行驶
     */
    public void run(){
        System.out.println("MaiTen.run()");
        System.out.println("迈腾在行驶!");
    }
    /**
     * 停止
     */
    public void stop(){
        System.out.println("MaiTen.stop()");
        System.out.println("迈腾停下来了!");
    }
}
package edu.aeon.demo;
/**
 * [说明]:人类
 * @author aeon(qq:1584875179)
 *
 */
public class Person {
    
    /**
     * 驾驶
     */
    public void drive(MaiTen maiTen){
        System.out.println("Person.drive()");
        maiTen.run();
        maiTen.stop();
    }
}
package edu.aeon.demo;
/**
 * [说明]:测试类
 * @author aeon(qq:1584875179)
 *
 */
public class Test {

    public static void main(String[] args) {
        Person person=new Person();
        MaiTen maiTen=new MaiTen();
        person.drive(maiTen);
    }

}

  测试结果截图:

  

  

  

猜你喜欢

转载自www.cnblogs.com/aeon/p/10738483.html