为什么单独处理项目时会使用abstraciton?

时间:2015-03-13 12:24:01

标签: php oop methods abstract abstraction

从一开始我就开始抽象是没有意义的......我只是不知道是否应该使用它们 - 特别是在没有其他人帮助的情况下以自由职业者的身份工作时。

这是我用来演示它的一个小课程。我在这些课程中所做的很容易在普通班级完成。不需要抽象类。有人可以告诉我抽象类在一个小例子中有用吗。我想知道何时以及为何使用抽象,我不是要求

    abstract class Computer{
    abstract function turn_on();
    abstract function turn_of();
    abstract function activate_fan();
}

class Toshiba extends Computer{
    function turn_on(){
        echo __class__ ." is now on. Green light showing </br>";
        $this->activate_fan();
    }

    function turn_of(){
        echo __class__ ." is now of. No light showing </br>";
    }

    public function activate_fan(){
        echo __class__ . " Fan is now running, speed 300rps </br>";
    }
}


class Asus extends Computer{
    function turn_on(){
        echo __class__ ." is now on. Blue light showing </br>";
        $this->activate_fan();
    }

    function turn_of(){
        echo __class__ ." is now of. No light showing </br>";
    }

    public function activate_fan(){
        echo __class__ . " fan is now running, speed 80rps </br>";
    }
}

$Toshiba = new Toshiba;
$Asus = new Asus;

$Toshiba->turn_on();
$Asus->turn_on();

1 个答案:

答案 0 :(得分:0)

这个例子怎么样:

function restartComputers($computers) {
  foreach ($computers as $c) {
    $c->turn_of();
    $c->turn_on();
  }
}