원래 주소: PHP 디자인 패턴(4): PHP 디자인 패턴의 상속 소개(2): 추상 클래스 및 인터페이스 그리고 PHP 디자인 패턴 (3): 캡슐화에서 우리는 이미 상속(extends 키워드)을 살펴보았습니다. C/C, Java, Python 및 기타 언어와 마찬가지로 PHP도 상속을 지원하며 다른 언어와 다르지 않습니다. 상속/상속은 여전히 동물과 고래를 사용합니다"/> 원래 주소: PHP 디자인 패턴(4): PHP 디자인 패턴의 상속 소개(2): 추상 클래스 및 인터페이스 그리고 PHP 디자인 패턴 (3): 캡슐화에서 우리는 이미 상속(extends 키워드)을 살펴보았습니다. C/C, Java, Python 및 기타 언어와 마찬가지로 PHP도 상속을 지원하며 다른 언어와 다르지 않습니다. 상속/상속은 여전히 동물과 고래를 사용합니다">
data-id="1190000004994154" data-licence="">
원본 주소: PHP 디자인 패턴(4): 상속
소개
PHP로 디자인하기 패턴 (2): 추상 클래스와 인터페이스 및 PHP 디자인 패턴 (3): 캡슐화에서 우리는 이미 상속, 즉 확장 키워드를 살펴보았습니다.
C/C, Java, Python 및 기타 언어와 마찬가지로 PHP도 상속을 지원하며 다른 언어와 다르지 않습니다.
상속
동물, 고래, 잉어를 예로 들어보겠습니다.
<code><?php abstract class Animal { protected $name; protected function chew($food) { echo $this->name . " is chewing " . $food . ".\n"; } protected function digest($food) { echo $this->name . " is digesting " . $food . ".\n"; } } class Whale extends Animal { public function __construct() { $this->name = "Whale"; } public function eat($food) { $this->chew($food); $this->digest($food); } } class Carp extends Animal { public function __construct() { $this->name = "Carp"; } public function eat($food) { $this->chew($food); $this->digest($food); } } $whale = new Whale(); $whale->eat("fish"); $carp = new Carp(); $carp->eat("moss"); ?></code>
실행:
<code>$ php Inheritance.php Whale is chewing fish. Whale is digesting fish. Carp is chewing moss. Carp is digesting moss.</code>
$this는 Usage입니다. 동물수업, 고래수업, 잉어수업.
위 코드는 흔해 보이지만 사실은 미스터리를 담고 있습니다. 좋은 프로그램 설계를 위해서는 다음이 필요합니다.
클래스 간 결합도가 낮아야 합니다.
상속은 일반적으로 구체적인 클래스가 아닌 추상 클래스에서 상속됩니다.
일반적으로 추상 클래스를 직접 상속하는 구상 클래스는 레이어가 하나만 있고 추상 클래스에서 protected로 한정됩니다.
요약
좋은 프로그래밍에는 합리적인 상속도 필수적입니다. 추상과 보호를 결합하면 명확한 구조로 코드를 작성할 수 있습니다.
위에서는 디자인 패턴과 PHP 콘텐츠를 포함한 PHP 디자인 패턴 4인 상속을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.