工厂模式小案例

Original 2019-01-07 09:35:28 257
abstract:

class Mp3

{

public function music()

{

return '可以放音乐';

}


}


class Mp4

{

public function vedio()

{

return '可以放视频';

}

}



class Factory

{

public static function cerate($className)

{

switch ($className) {

case 'Mp3':

return new Mp3;

break;

case 'Mp4':

return new Mp4;

break;

}

}

}

class student

{

public function play()

{

$Mp3 = Factory ::cerate('Mp3');

return 'Mp3'.$Mp3->music();


}

public function play2()

{

$Mp4 = Factory ::cerate('Mp4');

return 'Mp4'.$Mp4->vedio();


}

}

$student = new student;

echo $student->play();

echo "
";

echo $student->play2();


Release Notes

Popular Entries