현재 위치: > 최신 기사 목록> PHP 객체 지향 분석 : 상속 및 다형성에 대한 실질적인 안내서

PHP 객체 지향 분석 : 상속 및 다형성에 대한 실질적인 안내서

M66 2025-07-21

PHP의 상속을 이해하십시오

상속은 객체 지향 프로그래밍을위한 중요한 메커니즘입니다. 한 클래스가 다른 클래스를 기반으로 새 클래스를 생성 할 수 있으며 서브 클래스는 상위 클래스의 속성과 방법을 상속하여 코드 재사용 및 확장을 구현할 수 있습니다. PHP에서 키워드 확장은 서브 클래스를 만드는 데 사용되는 반면, Parent ::는 부모 클래스의 멤버 메소드 또는 속성을 호출하는 데 사용됩니다.

상속 된 샘플 코드

 class Animal {
   protected $name;
   protected $age;

   public function __construct($name, $age) {
      $this->name = $name;
      $this->age = $age;
   }

   public function getInfo() {
      return "Name: " . $this->name . ", Age: " . $this->age;
   }
}

class Dog extends Animal {
   public function bark() {
      return "Woof!";
   }
}

$dog = new Dog("Rex", 3);
echo $dog->getInfo();  // 산출 "Name: Rex, Age: 3"
echo $dog->bark();     // 산출 "Woof!"

위의 코드는 이름연령 속성과 정보를 얻기위한 방법을 가진 동물 기본 클래스 동물을 보여줍니다. 서브 클래스 개는 이러한 특성과 방법을 상속하고 상속의 기본 사용을 반영하여 껍질 () 방법을 추가합니다.

PHP 다형성을 구현하는 방법

다형성은 다른 유형의 물체에서 다른 동작을 보여주는 동일한 인터페이스 또는 방법을 말합니다. PHP에서 다형성은 주로 인터페이스 와 추상 클래스를 통해 구현됩니다. 인터페이스는 메소드 사양을 정의하는 반면, 초록 클래스는 부분 구현을 제공하고 서브 클래스는 초록 메소드를 상세하게 구현해야합니다. 이것은 코드를보다 유연하고 확장 가능하게 만듭니다.

다형성 예 : 인터페이스 및 구현 클래스

 interface Shape {
   public function area();
   public function perimeter();
}

class Rectangle implements Shape {
   private $length;
   private $width;

   public function __construct($length, $width) {
      $this->length = $length;
      $this->width = $width;
   }

   public function area() {
      return $this->length * $this->width;
   }

   public function perimeter() {
      return 2 * ($this->length + $this->width);
   }
}

class Circle implements Shape {
   private $radius;

   public function __construct($radius) {
      $this->radius = $radius;
   }

   public function area() {
      return pi() * pow($this->radius, 2);
   }

   public function perimeter() {
      return 2 * pi() * $this->radius;
   }
}

$rectangle = new Rectangle(5, 3);
$circle = new Circle(2);

echo $rectangle->area();     // 산출 15
echo $rectangle->perimeter();  // 산출 16

echo $circle->area();        // 산출 12.566370614359
echo $circle->perimeter();   // 산출 12.566370614359

이 예에서는 사각형 모두 모양 인터페이스를 구현하고 영역 ()주변 () 메소드를 정의해야합니다. 다른 구현은 동일한 방법으로 다른 행동을 갖습니다. 이는 다형성의 징후입니다.

요약

상속 및 다형성은 PHP 객체 지향 프로그래밍의 기초입니다. 이 두 가지를 마스터하면 조직의 조직과 재사용 성이 크게 향상 될 수 있습니다. 상속은 서브 클래스가 중복 코드를 피하기 위해 부모 클래스의 속성 및 방법을 얻을 수 있도록합니다. 다형성은 동일한 방법이 인터페이스 나 추상 클래스를 통해 다른 물체에서 다양한 행동을 보여줄 수 있도록하여 코드 유연성을 향상시킵니다. 이 기사에서 제공된 샘플 코드는 초보자가 이러한 개념을 이해하고 고품질 PHP 프로그램을 개발하는 데 적합합니다.