深入了解PHP類Class的概念
更新時(shí)間:2012年06月14日 12:23:54 作者:
日常環(huán)境由無(wú)數(shù)實(shí)體組成:植物、人群、交通工具、食物……實(shí)在是太多了,光是把它們列出來(lái)都要花上幾個(gè)小時(shí)的時(shí)間。每個(gè)實(shí)體都由一組性質(zhì)和行為來(lái)定義
例如,一個(gè)交通工具可以定義有顏色、輪胎數(shù)、制造商、型號(hào)和容量等性質(zhì),并定義有停止、前進(jìn)、轉(zhuǎn)彎和鳴笛等行為。在OOP術(shù)語(yǔ)中,實(shí)體的性質(zhì)和行為的具體定義稱為類(class)。
類的定義與創(chuàng)建
類是具有相同屬性和服務(wù)的一組對(duì)象的集合。它為屬于該類的所有對(duì)象提供了統(tǒng)一的抽象描述,其內(nèi)部包括屬性和方法兩個(gè)主要部分。在面向?qū)ο蟮木幊陶Z(yǔ)言中,類是一個(gè)獨(dú)立的程序單位,它應(yīng)該有一個(gè)類名并包括屬性說明和方法說明兩個(gè)主要部分。
類用于表示要在應(yīng)用程序中處理的實(shí)際事物。例如,假設(shè)要?jiǎng)?chuàng)建一個(gè)管理公共圖書館的應(yīng)用程序,可能就要包括一些類來(lái)表示書籍、雜志、員工、特殊事件、顧客以及需要管理的其他事物。每個(gè)實(shí)體都包含一組性質(zhì)和行為,在OOP中分別稱為字段(field)和方法(method),它們定義了實(shí)體。PHP 中一般的類創(chuàng)建語(yǔ)法如下:
class Class_Name
{
// 字段聲明
// 方法聲明
}
創(chuàng)建一個(gè)類:
class Employee
{
private $name;
private $title;
protected $wage;
protected function clockIn() {
echo "Member $this->name clocked in at ".date("h:i:s");
}
protected function clockOut() {
echo "Member $this->name clocked out at ".date("h:i:s");
}
}
這個(gè)類名為Employee,定義了3個(gè)字段:name、title和wage,還定義了兩個(gè)方法:clockIn(簽到)和clockOut(簽離)。
類的應(yīng)用
一個(gè)定義了屬性和方法的類就是一個(gè)完整的類了,可以在一個(gè)類里面包含一個(gè)完整的處理邏輯。使用 new 關(guān)鍵字來(lái)實(shí)例化一個(gè)對(duì)象以便應(yīng)用類里面的邏輯。可以同時(shí)實(shí)例化多個(gè)對(duì)象。
類的實(shí)例化:
object = new class_name();
實(shí)例化一個(gè)對(duì)象后,使用 -> 操作符來(lái)訪問對(duì)象的成員屬性和方法。比如:
object->var_name;
object->function_name;
如果要在定義的類里面訪問成員的屬性或者方法,可以使用偽變量 $this 。$this 用于表示當(dāng)前對(duì)象或?qū)ο蟊旧?。
<?php
class Person {
// 人的成員屬性
var $name; //人的名字
var $age; //人的年齡
//人的成員 say() 方法
function say() {
echo "我的名字叫:".$this->name."<br />";
echo "我的年齡是:".$this->age;
}
}
//類定義結(jié)束
$p1 = new Person(); //實(shí)例化一個(gè)對(duì)象
$p1->name = "Gonn"; //給 $p1 對(duì)象屬性賦值
$p1->age = 25;
$p1->say(); //調(diào)用對(duì)象中的 say()方法
?>
程序運(yùn)行結(jié)果:
我的名字叫:Gonn
我的年齡是:25
類的定義與創(chuàng)建
類是具有相同屬性和服務(wù)的一組對(duì)象的集合。它為屬于該類的所有對(duì)象提供了統(tǒng)一的抽象描述,其內(nèi)部包括屬性和方法兩個(gè)主要部分。在面向?qū)ο蟮木幊陶Z(yǔ)言中,類是一個(gè)獨(dú)立的程序單位,它應(yīng)該有一個(gè)類名并包括屬性說明和方法說明兩個(gè)主要部分。
類用于表示要在應(yīng)用程序中處理的實(shí)際事物。例如,假設(shè)要?jiǎng)?chuàng)建一個(gè)管理公共圖書館的應(yīng)用程序,可能就要包括一些類來(lái)表示書籍、雜志、員工、特殊事件、顧客以及需要管理的其他事物。每個(gè)實(shí)體都包含一組性質(zhì)和行為,在OOP中分別稱為字段(field)和方法(method),它們定義了實(shí)體。PHP 中一般的類創(chuàng)建語(yǔ)法如下:
復(fù)制代碼 代碼如下:
class Class_Name
{
// 字段聲明
// 方法聲明
}
創(chuàng)建一個(gè)類:
復(fù)制代碼 代碼如下:
class Employee
{
private $name;
private $title;
protected $wage;
protected function clockIn() {
echo "Member $this->name clocked in at ".date("h:i:s");
}
protected function clockOut() {
echo "Member $this->name clocked out at ".date("h:i:s");
}
}
這個(gè)類名為Employee,定義了3個(gè)字段:name、title和wage,還定義了兩個(gè)方法:clockIn(簽到)和clockOut(簽離)。
類的應(yīng)用
一個(gè)定義了屬性和方法的類就是一個(gè)完整的類了,可以在一個(gè)類里面包含一個(gè)完整的處理邏輯。使用 new 關(guān)鍵字來(lái)實(shí)例化一個(gè)對(duì)象以便應(yīng)用類里面的邏輯。可以同時(shí)實(shí)例化多個(gè)對(duì)象。
類的實(shí)例化:
復(fù)制代碼 代碼如下:
object = new class_name();
實(shí)例化一個(gè)對(duì)象后,使用 -> 操作符來(lái)訪問對(duì)象的成員屬性和方法。比如:
復(fù)制代碼 代碼如下:
object->var_name;
object->function_name;
如果要在定義的類里面訪問成員的屬性或者方法,可以使用偽變量 $this 。$this 用于表示當(dāng)前對(duì)象或?qū)ο蟊旧?。
復(fù)制代碼 代碼如下:
<?php
class Person {
// 人的成員屬性
var $name; //人的名字
var $age; //人的年齡
//人的成員 say() 方法
function say() {
echo "我的名字叫:".$this->name."<br />";
echo "我的年齡是:".$this->age;
}
}
//類定義結(jié)束
$p1 = new Person(); //實(shí)例化一個(gè)對(duì)象
$p1->name = "Gonn"; //給 $p1 對(duì)象屬性賦值
$p1->age = 25;
$p1->say(); //調(diào)用對(duì)象中的 say()方法
?>
程序運(yùn)行結(jié)果:
復(fù)制代碼 代碼如下:
我的名字叫:Gonn
我的年齡是:25
相關(guān)文章
PHP轉(zhuǎn)Go之基礎(chǔ)數(shù)據(jù)類型對(duì)比詳解
這篇文章主要為大家詳細(xì)介紹了PHP與Go語(yǔ)言中基礎(chǔ)數(shù)據(jù)類型的對(duì)比,以及使用時(shí)常見的坑,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以參考一下2023-09-09
php和js實(shí)現(xiàn)根據(jù)子網(wǎng)掩碼和ip計(jì)算子網(wǎng)功能示例
這篇文章主要介紹了php和js實(shí)現(xiàn)根據(jù)子網(wǎng)掩碼和ip計(jì)算子網(wǎng)功能,結(jié)合實(shí)例形式分析了PHP與js針對(duì)IP地址子網(wǎng)掩碼計(jì)算的相關(guān)操作技巧,需要的朋友可以參考下2019-11-11
PHP如何讀取由JavaScript設(shè)置的Cookie
本文主要介紹了PHP讀取由JavaScript設(shè)置的Cookie的方法。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-03-03
PHP進(jìn)階學(xué)習(xí)之垃圾回收機(jī)制詳解
這篇文章主要介紹了PHP進(jìn)階學(xué)習(xí)之垃圾回收機(jī)制,詳細(xì)分析了php垃圾回收機(jī)制的概念、原理及對(duì)性能的影響,需要的朋友可以參考下2019-06-06

