依赖注入总结

原创 2018-12-13 09:52:11 256
摘要:    依赖注入: 就是避免在本类中直接实例化其他类的方法,将其他类实例化的对象,当做参数传入到本类的方法中(构造方法,普通方法)(需要限定下类型)    构造方法实现时,需要创建一个属性来存储这个外部类的对象,然后在实例化本类时将外部类传入构造方法中    普通方法实现依赖注入

    依赖注入: 就是避免在本类中直接实例化其他类的方法,将其他类实例化的对象,当做参数传入到本类的方法中(构造方法,普通方法)(需要限定下类型)

    构造方法实现时,需要创建一个属性来存储这个外部类的对象,然后在实例化本类时将外部类传入构造方法中

    普通方法实现依赖注入,则在普通方法中传入外部类的实例对象.

    如下操作:

    1.构造方法实现

//创建一个Hero类
class Hero
{
    public function fight(){
        return '战斗!';
    }
}
//创建一个People类
class People
{
    //构造方法实现
    //创建一个属性存储Hero类
    private $hero = null;
    //构造方法
    public function __construct(Hero $hero)
    {
        //存储到属性中
        $this->hero = $hero;
    }
    public function tel(){
        //调用外部类的方法
        return '人们找Hero'.$this->hero->fight();
    }
}
//实例化Hero类
$hero = new Hero;
//将Hero对象传入People类中构造方法
$people = new People($hero);
echo $people->tel();

    2.普通方法中实现

//创建一个Hero类
class Hero
{
    public function fight(){
        return '战斗!';
    }
}
//创建一个People类
class People
{
    //传入外部类
    public function tel(Hero $hero){
        //调用外部类的方法
        return '人们找Hero'.$hero->fight();
    }
}
//实例化Hero类
$hero = new Hero;
//将Hero对象传入People类中构造方法
$people = new People;
echo $people->tel($hero);


批改老师:天蓬老师批改时间:2018-12-13 10:00:23
老师总结:依赖注入,是一种设计解耦的设计模式, 在面向对象编程中,很常用

发布手记

热门词条