Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在课堂上应该做多少专业化工作?_Php_Oop - Fatal编程技术网

Php 在课堂上应该做多少专业化工作?

Php 在课堂上应该做多少专业化工作?,php,oop,Php,Oop,我正在构建PHP类来完成特定和一般任务,但我不确定我是否正确地完成了这些任务 class Cat { public function cuddleNonStrayCat() { $this->washHands(); $this->cuddleCat(); } public function cuddleStrayCat() { $this->cuddleCat(); $this-&g

我正在构建PHP类来完成特定和一般任务,但我不确定我是否正确地完成了这些任务

class Cat
{
    public function cuddleNonStrayCat() {
        $this->washHands();
        $this->cuddleCat(); 
    }

    public function cuddleStrayCat() {
        $this->cuddleCat(); 
        $this->washHands();
        $this->getRabiesVaccine();
    }
    public function getRabiesVaccine() { ... }
    public function cuddleCat() { ... }
    public function washHands() { ... }
}

$cat = new Cat;

# Example 1 - Very compact to do a specialized thing:
$cat->cuddleStrayCat(); 

# Example 2 - Do the specialization outside of the class:
$cat->cuddleCat();  
$cat->washHands();
$cat->getRabiesVaccine();
第一个例子是,我将专门化(混乱)放在类内部,但将其保持在外部干净。第二个例子正好相反

一个比另一个更受欢迎,或者有其他更好的方法吗?

为什么“猫”包含拥抱猫的逻辑

出于某种原因,您似乎认为应该在一个类中尽可能多地填充逻辑。那是错误的。一个类应该有一个通用的用途(这基本上是定义的概念),但您已经开始在其中添加所有松散相关的内容——这是创建“上帝对象”的方法,它包含应用程序逻辑的每一部分


这样看:为什么猫会意识到如何洗手呢?

从看这个视频开始:很好的视频。我需要看两遍;)