객체 지향 프로그래밍에서 다형성을 사용하면 객체가 동일한 메서드 호출에 다른 방식으로 응답할 수 있으며, 상속을 통해 하위 클래스는 상위 클래스 기능을 상속하고 확장할 수 있습니다. 다형성은 동물, 개, 고양이 객체의 talk() 메소드와 같이 동일한 메소드에 대해 서로 다른 유형의 객체가 차등적으로 반응하는 경우에 나타납니다. 상속은 상위 클래스로부터 데이터와 메소드를 상속하는 하위 클래스에 반영됩니다. 예를 들어, Employee 클래스는 human 클래스로부터 이름과 나이를 상속하고 새로운 급여 속성을 추가합니다. 실제 사례에서 kiwi 클래스는 과일 클래스의 과일 이름을 상속받는 반면, 스포츠카 클래스는 다형성을 통해 부모 클래스의 getType() 메서드를 다시 작성하여 car 클래스의 동일한 메서드에 대해 서로 다른 응답을 구현하고 "car"를 반환합니다. " 및 "car" 각각 "스포츠카"에 대한 정보를 입력합니다.
고급 PHP 객체 지향 프로그래밍: 다형성 및 상속 이해
개요
다형성과 상속은 객체 지향 프로그래밍(OOP)의 두 가지 기본 개념입니다. 다형성을 통해 객체는 동일한 메서드 호출에 다양한 방식으로 응답할 수 있으며, 상속을 통해 기존 클래스의 기능을 상속하고 확장하는 새 클래스를 만들 수 있습니다.
다형성
다형성을 사용하면 객체가 유형에 따라 다른 작업을 수행할 수 있습니다.
class Animal { public function speak() { echo "Animal speaks\n"; } } class Dog extends Animal { public function speak() { echo "Dog barks\n"; } } class Cat extends Animal { public function speak() { echo "Cat meows\n"; } } $dog = new Dog(); $dog->speak(); // 输出:Dog barks $cat = new Cat(); $cat->speak(); // 输出:Cat meows
상속
상속을 사용하면 기존 클래스(상위 클래스)에서 데이터와 메서드를 상속하는 새 클래스(하위 클래스)를 만들 수 있습니다.
class Person { protected $name; protected $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } public function getName() { return $this->name; } } class Employee extends Person { private $salary; public function __construct($name, $age, $salary) { parent::__construct($name, $age); // 调用父类构造函数 $this->salary = $salary; } public function getSalary() { return $this->salary; } } $employee = new Employee("John Doe", 30, 50000); echo "Employee name: " . $employee->getName() . "\n"; echo "Employee salary: " . $employee->getSalary() . "\n";
실용 사례
과일 클래스와 키위 클래스(상속)
class Fruit { protected $name; public function __construct($name) { $this->name = $name; } public function getName() { return $this->name; } } class Kiwi extends Fruit { public function __construct() { parent::__construct("Kiwi"); } } $kiwi = new Kiwi(); echo "Fruit name: " . $kiwi->getName() . "\n";
자동차 클래스와 스포츠카 클래스(다형성)
class Car { protected $make; protected $model; public function __construct($make, $model) { $this->make = $make; $this->model = $model; } public function getType() { return "Car"; } } class SportsCar extends Car { public function getType() { return "Sports Car"; } } $car = new Car("Toyota", "Camry"); $sportsCar = new SportsCar("Ferrari", "F430"); echo "Car type: " . $car->getType() . "\n"; echo "Sports car type: " . $sportsCar->getType() . "\n";
위 내용은 PHP 객체 지향 프로그래밍 고급: 다형성 및 상속 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!