PHP의 상속

PHPz
PHPz원래의
2024-08-29 12:59:341276검색

상속은 새로 생성된 클래스에서 기존 클래스 기능을 확장하는 방법입니다. 기본 클래스 기능을 확장하는 것 외에도 새로 생성된 클래스에 기능을 추가할 수도 있습니다. 하나의 클래스를 상속할 때 상속받은 클래스는 자식 클래스(하위 클래스)라고 하며, 이를 상속받은 부모 클래스라고 합니다. 상위 클래스는 기본 클래스라고도 합니다. 이는 프로그래밍 코드와 코드 재사용성을 더 잘 관리할 수 있는 방법입니다. 상속을 사용하는 기본 아이디어는 코드의 더 나은 관리와 코드 재사용성에 관한 것입니다. 이번 주제에서는 PHP의 상속에 대해 알아보겠습니다.

광고 이 카테고리에서 인기 있는 강좌 PHP 개발자 - 전문 분야 | 8개 코스 시리즈 | 3가지 모의고사

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

PHP의 상속 유형

PHP는 JAVA와 같은 다양한 유형의 상속을 지원합니다. 아래 표는 PHP의 상속 유형 목록과 지원 상태를 보여줍니다.

Inheritance Type Support in PHP
Single Inheritance YES
Multilevel Inheritance YES
Hierarchical Inheritance YES
Multiple Inheritance NO

1. 단일 상속

PHP는 단일 상속을 지원합니다. 단일 상속은 단일 클래스가 하나의 클래스만 상속할 수 있는 PHP의 개념입니다. 이 프로세스 사이에 두 개의 클래스가 필요합니다. 하나는 기본(부모) 클래스이고, 다른 하나는 자식 클래스입니다. 예를 들어 똑같이 이해해 봅시다. 이는 단순 상속으로 널리 알려져 있습니다. PHP 언어의 이러한 유형의 상속은 JAVA, C++ 등과 동일하게 유지됩니다.

PHP의 상속

코드:

<?php
class MyAccess {
var $var = "This is first var";
protected $fist_name;
// simple class method
function returnVar() {
echo $this->fist_name;
}
function set_fist_name($set_this){
$this->fist_name = $set_this;
}
}
class child extends MyAccess {
function setVal($set_this){
$this->fist_name = $set_this;
}
function getVal(){
echo $this->fist_name;
}
}
$obj1 = new child();
$obj1->setVal("Jai Shre");
$obj1->getVal();
?>

MyAccess는 부모이고, 자식은 자식의 클래스 이름입니다.

출력:

PHP의 상속

2. 다단계 상속

PHP는 다단계 상속을 지원합니다. 이러한 유형의 상속에는 2개 이상의 클래스가 있습니다. 이러한 유형의 상속에서는 상위 클래스가 하위 클래스에 상속되고, 해당 하위 클래스가 하위 클래스에 상속됩니다. PHP 언어의 이러한 상속 유형은 C++ 등의 상속 유형과 동일합니다.

PHP의 상속

코드:

<?php
class ParentClass {
var $var = "This is first var";
public $fist_name;
// simple class method
function returnVar() {
echo $this->fist_name;
}
function set_fist_name($set_this){
$this->fist_name = $set_this;
}
}
class child_1 extends ParentClass {
function setVal($set_this){
$this->fist_name = $set_this;
}
function getVal(){
echo "Extended By Parent Class -". $this->fist_name;
}
}
class child_2 extends child_1 {
function setVal($set_this){
$this->fist_name = $set_this;
}
function getVal(){
echo "Extended By child 1  - ".$this->fist_name;
}
}
$obj1 = new child_1();
$obj1->setVal("This is first inherited class");
$obj1->getVal();
echo "<br/><br/>";
$obj2 = new child_2();
$obj2->setVal("This is second inherited class");
$obj2->getVal();
?>

출력:

PHP의 상속

3. 계층적 상속

PHP는 계층적 상속을 지원합니다. 계층적 상속은 프로그램이 단일 상위 클래스와 둘 이상의 하위 클래스로 구성되는 상속 유형입니다. 이 예를 통해서도 똑같이 이해해 봅시다. PHP 언어의 이러한 유형의 상속은 JAVA, C++ 등과 동일하게 유지됩니다.

PHP의 상속

코드:

<?php
class ParentClass {
var $var = "This is first var";
public $fist_name;
// simple class method
function returnVar() {
echo $this->fist_name;
}
function set_fist_name($set_this){
$this->fist_name = $set_this;
}
}
class child_1 extends ParentClass {
function setVal($set_this){
$this->fist_name = $set_this;
}
function getVal(){
echo $this->fist_name;
}
}
class child_2 extends ParentClass {
function setVal($set_this){
$this->fist_name = $set_this." - ".$set_this;;
}
function getVal(){
echo $this->fist_name;
}
}
$obj1 = new child_1();
$obj1->setVal("This is first child class");
$obj1->getVal();
echo "<br/><br/>";
$obj2 = new child_2();
$obj2->setVal("This is second child class");
$obj2->getVal();
?>

출력:

PHP의 상속

ParentClass라는 하나의 상위 클래스와 각각 child_1 및 child_2라는 두 개의 하위 클래스가 있습니다. 주어진 상속 시나리오를 계층적 상속이라고 합니다.

PHP에서 상속의 중요성

상속은 장점이 많기 때문에 그 중요성이 더욱 큽니다.

  • 코드 재사용성은 상속에서 가장 자주 사용되는 것 중 하나입니다. 기본 클래스는 프로세스 사이에 그대로 유지됩니다. 위의 모든 상속 예에서 볼 수 있듯이 코드는 한 클래스에서 다른 클래스로 재사용됩니다. 같은 내용을 계속해서 다시 작성할 필요는 없습니다.
  • 기본 클래스는 클래스 계층 구조의 여러 파생 클래스에서 사용될 수 있습니다. 예, 이는 다중 상속을 통해 상위 클래스에서 확장할 수 있는 상속 유형입니다.
  • 확장성은 비즈니스 요구 사항을 충족하기 위해 거의 또는 전혀 변경하지 않고 기본 클래스 기능을 확장할 수 있다는 점에서 상속의 장점 중 하나입니다. 자식 클래스 없이 부모 클래스만 사용한다고 가정해 보겠습니다. 하지만 필요한 경우 나중에 비즈니스 요구 사항을 충족하기 위해 하위 클래스를 추가할 수 있습니다.
  • 재정의는 기본 클래스 함수 정의를 파생 클래스로 다시 작성하여 비즈니스 요구 사항에 따라 변경할 수 있는 상속 기능의 또 다른 장점입니다.
  • 더 적은 양의 코드 – 그동안 전통적인 코딩 방식에 비해 상속을 진행하면서 상대적으로 더 적은 코드를 갖게 됩니다.
  • 상속을 통해 데이터 숨기기 기능도 활성화되었습니다. 다양한 PHP 액세스 수정자를 사용하여 상위 클래스의 필수 부분만 하위 클래스에 노출할 수 있습니다.
  • MVC를 완벽하게 지원합니다. 상속 개념을 사용하여 MVC를 사용할 수 있습니다.

결론

상속은 일반 코드에 비해 몇 가지 장점이 있으므로 비즈니스를 수행하려면 상속을 사용해야 합니다. 상속을 처리하는 동안 데이터 보안에 주의해야 합니다. 데이터 숨기기 및 데이터 보안을 처리하기 위해 private 및 protected와 같은 액세스 한정자를 사용할 수 있습니다. PHP는 다중 상속을 지원하지 않습니다.

위 내용은 PHP의 상속의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.