1. 인터페이스
PHP 프로그래밍 언어에서 인터페이스는 추상 유형이자 추상 메소드의 모음입니다. 인터페이스는 일반적으로 인터페이스로 선언됩니다. 클래스는 인터페이스를 구현하여 인터페이스의 메서드(추상 메서드)를 구현합니다.
인터페이스 정의:
interface InterAnimal{ public function speak(); public function name($name); }//接口实现 class cat implements InterAnimal{ public function speak(){ echo "speak"; } public function name($name){ echo "My name is ".$name; } }
특별 참고 사항:
* 모든 클래스는 추상 메서드입니다(추상을 선언할 필요 없음)
*인터페이스 추상 메서드는 공개됩니다
* 멤버(필드)는 상수여야 합니다
2. 상속
다른 클래스에서 상속받은 클래스를 해당 클래스의 하위 클래스라고 합니다. 이 관계는 종종 부모와 자식의 비유로 표현됩니다. 하위 클래스는 상위 클래스의 특성을 상속받습니다. 이러한 속성은 속성과 메서드로 구성됩니다. 하위 클래스는 상위 클래스의 기능 외에 새로운 기능을 추가할 수 있으므로 하위 클래스를 상위 클래스의 "확장"이라고도 합니다.
PHP에서는 클래스 상속이 확장 키워드를 통해 구현됩니다. 다른 클래스에서 상속받는 클래스는 하위 클래스 또는 파생 클래스가 되고, 하위 클래스에서 상속받는 클래스는 상위 클래스 또는 기본 클래스가 됩니다.
class Computer { private $_name = '联想'; public function __get($_key) { return $this->$_key; } public function run() { echo '父类run方法'; } }class NoteBookComputer extends Computer {}$notebookcomputer = new NoteBookComputer ();$notebookcomputer->run (); //继承父类中的run()方法echo $notebookcomputer->_name; //通过魔法函数__get()获得私有字段
때로는 재정의된 메서드를 통해 상위 클래스의 메서드 콘텐츠를 호출할 수 있어야 하는 경우도 있습니다. 이 경우class Computer { public $_name = '联想'; protected function run() { echo '我是父类'; } }//重写其字段、方法class NoteBookComputer extends Computer { public $_name = 'IBM'; public function run() { echo '我是子类'; } }로그인 후 복사
재정의를 통해 상위 클래스 메소드 호출
를 사용해야 합니다. 구문: 상위 클래스 이름::method(), parent::method()를 호출할 수 있습니다.* 추상 클래스는 인스턴스 개체를 생성할 수 없으며 상속만 가능합니다.final 키워드는 클래스가 상속되는 것을 방지할 수 있습니다. 때로는 독립 클래스가 되기를 원하고 다른 클래스에서 상속 및 사용을 원하지 않는 경우도 있습니다.
추상 클래스의 특징:
3. 추상 클래스 및 메서드
* 추상 메서드는 추상 클래스에 있어야 하며 추상 클래스에는 추상 메서드가 없을 수 있습니다.
* 상속 추상 클래스인 경우 하위 클래스는 상위 클래스의 모든 추상 메서드를 재정의해야 합니다.
* 추상으로 정의된 메서드는 호출 메서드(매개변수)만 선언하고 구현하지 않습니다.
abstract class Computer { abstract function run();}final class NotebookComputer extends Computer { public function run() { echo '抽象类的实现'; } }
interface Computer { public function version(); public function work();}class NotebookComputer implements Computer { public function version() { echo '联想<br>'; } public function work() { echo '笔记本正在随时携带运行!'; } }class desktopComputer implements Computer { public function version() { echo 'IBM'; } public function work() { echo '台式电脑正在工作站运行!'; } }class Person { public function run($type) { $type->version (); $type->work (); } }$person = new Person ();$desktopcomputer = new desktopComputer ();$notebookcomputer = new NoteBookComputer ();$person->run ( $notebookcomputer );
PHP 객체지향 식별 객체
php 객체지향 프로그래밍 개발 아이디어 및 사례 분석
위 내용은 PHP 객체 지향 상속, 다형성 및 캡슐화 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!