依赖注入的小案例和在类外部实例化类的优势

Original 2019-04-15 23:47:38 277
abstract:<?phpclass Task1{  public function sedan()  {    return '轿车';  }  public function suv()  {    return 'SUV';  }}class Task2{  p

<?php

class Task1

{

  public function sedan()

  {

    return '轿车';

  }

  public function suv()

  {

    return 'SUV';

  }

}

class Task2

{

  private $favorite = null;


  public function __construct(Task1 $favorite)

  {

    $this->favorite = $favorite;

  }

  public function body1()

  {

    return '我比较喜欢'.$this->favorite->sedan();

  }

  public function body2()

  {

    return '我还是喜欢'.$this->favorite->suv();

  }

}

$task1 = new Task1;

$task2 = new Task2($task1);

echo $task2->body1($task1);

echo '<hr>';

echo $task2->body2($task1);

echo '<hr>';

//本案例使用的是构造方法实现的依赖注入;在类的外部实例化类,不会让类与被引用的类之间产生高度的依赖关系.

Correcting teacher:查无此人Correction time:2019-04-16 09:18:42
Teacher's summary:完成的不错。学习完类,就算入门了。继续努力。

Release Notes

Popular Entries