>  기사  >  백엔드 개발  >  PHP의 객체지향 클래스 상속 사용 소개

PHP의 객체지향 클래스 상속 사용 소개

黄舟
黄舟원래의
2017-07-02 11:25:541048검색

PHP 클래스의 상속은 PHP 언어 학습에 있어서 비교적 중요한 지식 포인트입니다. 그렇다면 PHP 클래스 상속을 올바르게 배우는 방법은 무엇입니까? PHP 객체 지향 프로그래밍에서는 클래스 상속이 항상 가장 중요합니다.

이것은 인간이 아이를 낳는 것과 같습니다(왜 아이를 낳아야 하는 걸까요? 단지 노후를 예방하기 위해서일까요! 모르겠어요). 자신의 유전자와 아내의 유전자 중 일부를 취하고 재생성합니다. 새로운 개인, 이 새로운 성격은 분명 두 사람의 특성을 모두 담고 있을 것입니다. 이것은 유전(상속)에 대한 생물학적 설명입니다. 프로그래밍의 세계에서는 상속이 곧 상속입니다!

우선 상속의 몇 가지 살아있는 원리를 이해한 후 PHP 클래스의 상속이 더 이상 그렇게 신비롭지 않은지 확인하고 싶습니다. 어쩌면 우리 자신도 너무 복잡하기 때문에 애초에 신비롭지 않을 수도 있습니다. 상속을 받으려면 "루트"가 있어야 합니다. 이 "루트"에 대해 미래에 아들이나 딸을 낳으면 어떤 "물건(속성 및 방법)"을 얻게 될 것이라고 상상할 수 있습니다. 당신의 "후손"이 당신의 (뿌리) 특성을 모두 보유한다는 의미입니다. 이것이 PHP의 객체지향 언어로 어떻게 표현되는지 문법을 통해 설명해보자(인간처럼 직접적일 수는 없고, 결혼하고 잠시 후에 자손이 태어날 것이다)

1. "루트" 클래스 생성(부모) 클래스) 또는 기본 클래스)

문법:

class father{
}

1. "자손"(하위 클래스) 생성

문법:

class son extends father{
}

설명: 상위 클래스는 일반적인 클래스이므로 하위 클래스만 추가하면 됩니다. 일반 클래스 확장 키워드는 괜찮습니다. 따라서 하위 클래스에는 상위 클래스의 모든 속성과 메서드만 있습니다. 실제로는 그렇게 간단합니다.

이제 실용적인 일을 해보자. PHP 클래스 상속에서 상위 클래스와 하위 클래스를 정의하는 것은 특정 작업을 완료하는 것입니다! 여기서의 작업은 상대적으로 단조롭습니다. 사람을 예로 들면 사람에게는 이름(속성)이 있고 잠을 자고 먹어야 합니다(방법). 이 기본 작업을 사용하여 이 섹션의 지식을 완성해 보겠습니다.

<?php   
class father{   
protected $name;   
function construct($name){   
$this->name=$name;   
}   
function destruct(){   
echo "<p>{$this->name}也是要死的<br/></p>";   
}   
//这个就是所谓的构造函数,用来初始化   
function go_to_sleeping(){   
echo "<p>{$this->name}想睡觉.</p>";   
}   
function eat(){   
echo "<p>{$this->name}想吃饭.</p>";   
}   
}   
class son extends father{   
function playing(){   
//小孩子会很调皮的,当然他也是要吃要睡的生物   
echo "<p>{$this->name}正在捣蛋...</p>";   
}   
}   
$your_father=new father("老爸");   
$your_father->go_to_sleeping();   
$your_father->eat();   
$my_son=new son(&#39;宝贝&#39;);   
$my_son->go_to_sleeping();   
$my_son->eat();   
$my_son->playing();   
?>   
<?php  
class father{  
protected $name;  
function construct($name){  
$this->name=$name;  
}  
function destruct(){  
echo "<p>{$this->name}也是要死的<br/></p>";  
}  
//这个就是所谓的构造函数,用来初始化  
function go_to_sleeping(){  
echo "<p>{$this->name}想睡觉.</p>";  
}  
function eat(){  
echo "<p>{$this->name}想吃饭.</p>";  
}  
}  
class son extends father{  
function playing(){  
//小孩子会很调皮的,当然他也是要吃要睡的生物  
echo "<p>{$this->name}正在捣蛋...</p>";  
}  
}  
$your_father=new father("老爸");  
$your_father->go_to_sleeping();  
$your_father->eat();  
$my_son=new son(&#39;宝贝&#39;);  
$my_son->go_to_sleeping();  
$my_son->eat();  
$my_son->playing();  
?>

분석: 상속을 사용하는 첫 번째 예에서는 PHP 생성자에 언급된 생성자와 PHP 클래스 캡슐화의 키워드를 사용합니다. 더 이상 말하고 싶지 않습니다. 정오에 잠을 자고 싶지 않았습니다. 이 작은 프로그램에 대해 이야기합시다.

아버지 클래스에서는 사람의 이름, 먹고 자야 할 것 등 일반적인 특징을 정의한 다음 하위 클래스(하위 클래스)에서는 개인화된 방법(놀이)을 정의합니다. 서로 관련되어 있습니다. 생성자를 사용하여 이름을 초기화하고 물론 소멸자를 사용하여 객체를 "파괴"하지만 하위 클래스에 생성자와 소멸자가 없다는 사실을 눈치채지 못했을 수도 있습니다. 따라서 하위 클래스는 다음의 모든 메서드를 상속합니다. 그렇지 않으면 어떻게 $my_son->go_to_sleeping();을 호출할 수 있습니까? 이것은 PHP 클래스의 상속입니다.

아아아아

위 내용은 PHP의 객체지향 클래스 상속 사용 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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