細說php(七) 物件導向編程_PHP教程

來源:互聯網
上載者:User

細說php(七) 物件導向編程


一、類的聲明與對象初始化

1.1 在類中聲明成員屬性時: 前面必須有修飾詞, 當不知道使用那個時, 就使用var, 如果知道使用那一個修飾關鍵字, 就不使用var了

var $color;

var $name = "zhangsan"


1.2 一個檔案只儲存一個類, 檔案名稱中包含類名, 如:類名.class.php

person.class.php


1.3 使用new關鍵字來建立對象, 建立了一個對象就在記憶體中分配一個空間 $對象引用 = new 類名;

$person = new Person

name;}}$p1 = new Person;   // Java: Person person = new Person;$p1->name = "lisi"; // Java: person.name = "lisi";$p1->say();         // Java: person.say();?>
1.4 對象在記憶體中的分配

a. 棧記憶體: 存放局部變數

b. 堆記憶體: 存放對象

c. 共用區: 存放靜態變數

d. 程式碼片段: 存放方法等


二、建構函式和解構函式

2.1 建構函式:

a. 構造方法是對象建立完成之後, 第一個自動調用的方法

b. 在PHP4中, 和類同名的方法就是構造方法

c. 在PHP5中, 構造方法選擇使用魔術方法 __construct() , 所有類中聲明構造方法都使用這個名稱

優點: 在改變類名時構造方法不用改變

d. 構造方法的作用: 為成員屬性初始化

name=$name;$this->age=$age;$this->sex=$sex;}function say(){echo "我的名子:{$this->name},我的年齡:{$this->age},我的性別:{$this->sex}。
";}}$p1=new Person("zhangsan", 20, "女");$p2=new Person("lisi", 25);$p3=new Person("wangwu");$p1->say();$p2->say();$p3->say();?>

2.2 解構函式:

a. 解構函式是指當對象被釋放之前最後一個自動調用的方法

b. 和Java一樣, PHP也使用記憶體回收行程釋放資源, 只不過PHP調用後馬上回收, 而Java不是.

c. 解構函式的作用: 關閉一些資源, 做一些清理工作, 使用魔術方法 __destruct()

name=$name;$this->age=$age;$this->sex=$sex;}function say(){echo "我的名子:{$this->name},我的年齡:{$this->age},我的性別:{$this->sex}。
";}function __destruct(){echo $this->name."再見!
";}}$p1=new Person("zhangsan", 20, "女");$p1->say();$p1 = null;// 我的名子:zhangsan,我的年齡:20,我的性別:女。 // zhangsan再見!?>


2.3 魔術方法

魔術方法是系統給我們提供好的, 在不同時刻為完成某一功能而自動調用的方法, 不同的魔術方法有不同的調用時機

魔術方法以 __ 開頭

__construct(); // 建構函式
__destruct(); // 解構函式
__set();
__get();
__isset();
__unset();
__clone();
__call();
__sleep();
__weakup();
__toString()
__autoload();

http://www.bkjia.com/PHPjc/871200.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/871200.htmlTechArticle細說php(七) 物件導向編程 一、類的聲明與對象初始化 1.1 在類中聲明成員屬性時: 前面必須有修飾詞, 當不知道使用那個時, 就使用var, 如果...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.