PHP入门04 -- 面向对象程序设计
一 、PHP實例化對象
1、注意:在類的成員屬性前面一定要有一個修飾詞,如果不知道使用什么修飾詞,就可以使用 var(關鍵字),如果一旦有其它的修飾詞就不要有 var。
2、只要是對象中的成員,就必須使用這個對象來訪問到這個對象內部的屬性和方法
3、構造函數
1、是對象創建完成之后,第一個自動調用的方法(特殊);
2、方法名比較特殊,可以和類名相同名的方法名;
3、給對象中的成員賦初始值使用的,傳參方式
<?phpclass BoyFriend {//變量(成員屬性)var $name = "張三";var $age = 18;var $height = "175cm";var $sex;//構造方法: $this => 類本身;sex=>變量;$sex=>初始化參數、//一開始就會執行(自動執行),function BoyFriend($sex){$this -> sex = $sex;}//函數(成員方法) public function fnO($row, $cal){return "功能一";} }//使用類前必須先 new $bf1 = new BoyFriend();//調用類中的參數:->sex 不需要加 $echo $bf1 -> sex."<br>"//調用類中的方法,需要傳參數必須傳echo $bf1 -> fnO("1", "2");?>4、封裝性是面向對象編程中的三大特性之一,封裝就是把對象中的成員屬性和成員方法加上訪問修飾符,使其盡可能隱藏對象的內部細節,以達到對成員的訪問控制(切記不是拒絕訪問)。
5、public (公有的 默認的)、private ? (私有的)、protected (受保護的)
6、魔術方法
__get()?
1、自動調用,是在直接訪問私有成員時,自動調用! 一個參數;(用于替代通用的set賦值方法)
__set()
2、自動調用,是在直接設置私有屬性時,兩個參數;(用于替代通用的get取值方法)
__isset() ?在是用 isset() 判斷一個私有屬性時否存在時,自動調用 __isset() 魔術方法,參數則是屬性名稱;(檢測對象中成員屬性是否存在)
__unset() ?;(銷毀對象中成員屬性方法)
二、類的繼承性、擴展性
1、子類使用 ?extends ?繼承父類 ?子類可以將父類中所有的內容繼承過來;
2、private:私有的, 只能類自己用,不能別人用,包括自己的子類也不能用;
3、protected:保護的權限,只能是自己和自己的子類中可以使用的成員,不能再外面使用
4、pulic: 公開的權限(默認),所有都可以,自己,子類,類外部都可以使用
class Person {public $name;protected $age;protected $sex;//引入參數function __construct($name, $age, $sex) {$this->name = $name;$this->age = $age;$this->sex = $sex;}public function say() {echo "我的名子是:{$this->name},我的年齡是:{$this->age},我的性別是:{$this->sex}。<br>";}function eat() {echo "11111111111111<br>";}function run() {}}class Student extends Person{var $school;function study() {}}class Teacher extends Student {var $gz;function jiao() {echo "我的名子是:{$this->name},我的年齡是:{$this->age},我的性別是:{$this->sex}。<br>";}}$t = new Teacher("高洛峰", 30, "男");$t -> jiao();echo $t->name;?
轉載于:https://www.cnblogs.com/patriot/p/8550795.html
總結
以上是生活随笔為你收集整理的PHP入门04 -- 面向对象程序设计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android面试收集录 2D绘图与动画
- 下一篇: (转载)Linux多线程实现