"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > PHP OOP 개념: 클래스, 객체 및 상속

PHP OOP 개념: 클래스, 객체 및 상속

2024-07-31에 게시됨
검색:631

PHP OOP Concepts: Classes, Objects and Inheritance

PHP 수업

PHP의 클래스는 객체의 속성과 동작을 정의하는 청사진 또는 템플릿입니다. 이는 데이터와 해당 데이터에서 작동하는 기능을 캡슐화하는 방법입니다. 클래스는 속성(데이터)과 메서드(함수)를 포함하여 객체의 구조와 동작을 정의합니다.

name = $name;
    $this->salary = $salary;
  }

  public function getDetails() {
    echo "Name: $this->name, Salary: $this->salary";
  }
}

PHP의 객체

PHP의 객체는 실제 엔터티나 개념을 나타내는 클래스의 인스턴스입니다. 여기에는 해당 동작을 설명하고 정의하는 자체 속성(데이터) 및 메서드(함수) 세트가 있습니다. 객체는 클래스에서 생성되며 독립적으로 조작할 수 있습니다.

$manager = new Manager();
$developer = new Developer();

PHP의 상속

PHP의 상속은 한 클래스가 다른 클래스의 속성과 동작을 상속할 수 있도록 하는 메커니즘입니다. 상속 클래스(자식 또는 하위 클래스)는 상위 클래스의 모든 속성과 메서드를 상속하며 새 속성과 메서드를 추가하거나 상위 클래스에서 상속된 속성과 메서드를 재정의할 수도 있습니다.

//Inheritance 

class Manager extends Employee {
  public $department;

  public function __construct($name, $salary, $department) {
    parent::__construct($name, $salary);
    $this->department = $department;
  }

  public function getDetails() {
    parent::getDetails();
    echo ", Department: $this->department";
  }
}

class Developer extends Employee {
  public $specialty;

  public function __construct($name, $salary, $specialty) {
    parent::__construct($name, $salary);
    $this->specialty = $specialty;
  }

  public function getDetails() {
    parent::getDetails();
    echo ", Specialty: $this->specialty";
  }
}

// Create objects
$manager = new Manager("John Doe", 80000, "Marketing");
$developer = new Developer("Jane Smith", 70000, "Front-end");

// Access properties and methods
echo "Manager Details: ";
$manager->getDetails();
echo "\n";
echo "Developer Details: ";
$developer->getDetails();

각 클래스에는 이름, 급여와 같은 속성과 getDetails와 같은 메서드가 있습니다. 코드는 이러한 클래스에서 개체를 만들고 해당 속성과 메서드를 사용합니다. 여기에서 클래스가 새로운 기능을 상속하고 추가하는 방법과 객체를 사용하여 데이터를 저장하고 표시하는 방법을 볼 수 있습니다. 현재 콘솔에서 프로젝트를 실행하여 이 코드의 출력을 확인할 수 있으며 출력은 다음과 같습니다:

Manager Details: Name: John Doe, Salary: 80000, Department: Marketing
Developer Details: Name: Jane Smith, Salary: 70000, Specialty: Front-end

명확히 이해하셨기를 바랍니다.

릴리스 선언문 이 글은 https://dev.to/ghulam_mujtaba_247/php-oop-concepts-classes-objects-and-inheritance-44j9?1에서 복제됩니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3