PHP面向对象 封装与继承
知識(shí)點(diǎn):
PHP封裝三個(gè)關(guān)鍵詞:
一、public 公有的,被public修飾的屬性和方法,對象可以任意訪問和調(diào)用
二、private 私有的,被private修飾的屬性和方法,只能在類內(nèi)部的方法可以進(jìn)行調(diào)用,或者被子類重寫后用public才可以隨意調(diào)用
三、protected 受保護(hù)的,被protected修飾的屬性和方法,在父類和子類的方法都可以訪問調(diào)用,不支持對象外部訪問調(diào)用
PHP繼承概念
PHP子類可以通過extends繼承父類的屬性和方法,再原有基礎(chǔ)上添加或者重寫屬性方法,注意:PHP是單繼承,即一個(gè)父類只能有一個(gè)子類,如果想一個(gè)父類被多個(gè)子類繼承,需要使用接口。
一、子類繼承父類的屬性和方法,并非全部,被private修飾的方法和屬性無法繼承
二、子類方法或?qū)傩悦绻c父類方法名一致,則進(jìn)行了對遠(yuǎn)方法和屬性的重寫
三、關(guān)鍵詞final 修飾的類名或方法無法被繼承或重寫
代碼:
<?php
header("Content-type:text/html;charset=utf-8");
error_reporting(E_ALL);
class people{
public $name;
public $age;
public function __construct($name,$age){
$this->name = $name;
$this->age = $age;
}
public function tellname(){
echo '我的名字是'.$this->name;
}
private function tellage(){
echo '我是年齡是'.$this->age;
}
}
$zhangsan = new people('張三',20);
$zhangsan->tellname();//輸出成功
//$zhangsan->tellage();提示致命錯(cuò)誤
echo "<br>";
class student extends people{
public $class;
public $sex;
public function tellname(){
echo '大家好,我的名字是'.$this->name;
}
public function tellage(){
echo '我的歲數(shù)是'.$this->age;
}
}
$xiaoming = new student('小明',15);
$xiaoming->tellname();//輸出成功
$xiaoming->tellage();//重寫后輸出成功
?>
頁面提示:
?
轉(zhuǎn)載于:https://www.cnblogs.com/chengzhongde/p/6915888.html
總結(jié)
以上是生活随笔為你收集整理的PHP面向对象 封装与继承的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 做梦梦到摘枣吃枣是什么意思
- 下一篇: hiho模拟面试题2 补提交卡 (贪心,