一步一步學(xué)習(xí)PHP(5) 類和對(duì)象
更新時(shí)間:2010年02月16日 11:49:41 作者:
OO的強(qiáng)大我不想再多說,如果你不認(rèn)同OO,那么當(dāng)你放眼當(dāng)前流行的語言,有哪個(gè)又不支持OO的,也許這個(gè)很有說服力了吧。
在這一節(jié)中,我們就來看看在PHP中如何創(chuàng)建一個(gè)類和對(duì)象。
1. 創(chuàng)建類
在PHP中,創(chuàng)建一個(gè)類和在C#/Java中基本類似,閑話少說,給大家看個(gè)最簡單的例子:
<?php
class People
{
var $name;
public function GetName()
{
return $this->name;
}
public function SetName($name)
{
$this->name=$name;
}
}
$p=new People();
$p->SetName("kym");
echo($p->GetName());
?>
這里,我們就創(chuàng)建一個(gè)People的類,在這里有四個(gè)要點(diǎn)說明一下:
第一個(gè)是在PHP中,訪問屬性(或者方法)不是用我們所常用的點(diǎn)運(yùn)算符(.),而是用->。
第二個(gè)是在PHP中,方法需要用function在標(biāo)識(shí),這點(diǎn)于Javascript很類似。
第三點(diǎn)是當(dāng)我們聲明一個(gè)變量時(shí),需要用var,這點(diǎn)也與Javascript非常類似。
第四點(diǎn)是在PHP中,也有著public ,protected,private三個(gè)與C#同樣的訪問修飾符,不再贅述。
在這里,我們發(fā)現(xiàn),我們可以用$p直接訪問$name屬性,那么我們需要對(duì)其進(jìn)行控制,方法如下:
class People
{
private $name;
public function GetName()
{
return $this->name;
}
public function SetName($name)
{
$this->name=$name;
}
}
這時(shí),我們?cè)谕饨缇蜔o法訪問到$name屬性了。
還記得我們?cè)谏衔闹刑岬搅丝勺兒瘮?shù)么?在這里我們一樣可以用可變函數(shù)來訪問對(duì)象的方法:
<?php
class People
{
private $name;
public function GetName()
{
return $this->name;
}
public function SetName($name)
{
$this->name=$name;
}
}
$p=new People();
$get="GetName";
$set="SetName";
$p->$set("kym");
echo($p->$get());
?>
2. 靜態(tài)方法(屬性)
在PHP中聲明靜態(tài)方法(也可稱之為類方法)與C#中是十分類似的。
<?php
class DataBase
{
public static function CreateConnection()
{
echo("Success");
}
}
DataBase::CreateConnection();
?>
同理,聲明靜態(tài)屬性也是一樣。
<?php
class DataBase
{
static $connectionString="http://127.0.0.1";
public static function CreateConnection()
{
echo("Success");
}
}
echo(DataBase::$connectionString);
DataBase::CreateConnection();
?>
3. 類常量
在C#中,我們用const來標(biāo)識(shí)常量,在PHP中也是一樣。
<?php
class DataBase
{
const AUTHOR="kym";
static $connectionString="http://127.0.0.1";
public static function CreateConnection()
{
echo("Success");
}
}
echo(DataBase::AUTHOR);
echo(DataBase::$connectionString);
DataBase::CreateConnection();
?>
4. 訪問靜態(tài)變量
我們知道,靜態(tài)屬性(方法)屬于類本身,而變量(方法)屬于對(duì)象本身,而類本身先于對(duì)象而存在,那么我們?nèi)绾蝸碓趧?dòng)態(tài)方法中訪問靜態(tài)的變量(方法)呢?在PHP中,為我們提供了self關(guān)鍵字。
<?php
class DataBase
{
const AUTHOR="kym";
static $connectionString="http://127.0.0.1";
public static function CreateConnection()
{
echo(self::$connectionString." Success");
}
}
echo(DataBase::AUTHOR);
echo(DataBase::$connectionString);
DataBase::CreateConnection();
?>
1. 創(chuàng)建類
在PHP中,創(chuàng)建一個(gè)類和在C#/Java中基本類似,閑話少說,給大家看個(gè)最簡單的例子:
復(fù)制代碼 代碼如下:
<?php
class People
{
var $name;
public function GetName()
{
return $this->name;
}
public function SetName($name)
{
$this->name=$name;
}
}
$p=new People();
$p->SetName("kym");
echo($p->GetName());
?>
這里,我們就創(chuàng)建一個(gè)People的類,在這里有四個(gè)要點(diǎn)說明一下:
第一個(gè)是在PHP中,訪問屬性(或者方法)不是用我們所常用的點(diǎn)運(yùn)算符(.),而是用->。
第二個(gè)是在PHP中,方法需要用function在標(biāo)識(shí),這點(diǎn)于Javascript很類似。
第三點(diǎn)是當(dāng)我們聲明一個(gè)變量時(shí),需要用var,這點(diǎn)也與Javascript非常類似。
第四點(diǎn)是在PHP中,也有著public ,protected,private三個(gè)與C#同樣的訪問修飾符,不再贅述。
在這里,我們發(fā)現(xiàn),我們可以用$p直接訪問$name屬性,那么我們需要對(duì)其進(jìn)行控制,方法如下:
復(fù)制代碼 代碼如下:
class People
{
private $name;
public function GetName()
{
return $this->name;
}
public function SetName($name)
{
$this->name=$name;
}
}
這時(shí),我們?cè)谕饨缇蜔o法訪問到$name屬性了。
還記得我們?cè)谏衔闹刑岬搅丝勺兒瘮?shù)么?在這里我們一樣可以用可變函數(shù)來訪問對(duì)象的方法:
復(fù)制代碼 代碼如下:
<?php
class People
{
private $name;
public function GetName()
{
return $this->name;
}
public function SetName($name)
{
$this->name=$name;
}
}
$p=new People();
$get="GetName";
$set="SetName";
$p->$set("kym");
echo($p->$get());
?>
2. 靜態(tài)方法(屬性)
在PHP中聲明靜態(tài)方法(也可稱之為類方法)與C#中是十分類似的。
復(fù)制代碼 代碼如下:
<?php
class DataBase
{
public static function CreateConnection()
{
echo("Success");
}
}
DataBase::CreateConnection();
?>
同理,聲明靜態(tài)屬性也是一樣。
復(fù)制代碼 代碼如下:
<?php
class DataBase
{
static $connectionString="http://127.0.0.1";
public static function CreateConnection()
{
echo("Success");
}
}
echo(DataBase::$connectionString);
DataBase::CreateConnection();
?>
3. 類常量
在C#中,我們用const來標(biāo)識(shí)常量,在PHP中也是一樣。
復(fù)制代碼 代碼如下:
<?php
class DataBase
{
const AUTHOR="kym";
static $connectionString="http://127.0.0.1";
public static function CreateConnection()
{
echo("Success");
}
}
echo(DataBase::AUTHOR);
echo(DataBase::$connectionString);
DataBase::CreateConnection();
?>
4. 訪問靜態(tài)變量
我們知道,靜態(tài)屬性(方法)屬于類本身,而變量(方法)屬于對(duì)象本身,而類本身先于對(duì)象而存在,那么我們?nèi)绾蝸碓趧?dòng)態(tài)方法中訪問靜態(tài)的變量(方法)呢?在PHP中,為我們提供了self關(guān)鍵字。
復(fù)制代碼 代碼如下:
<?php
class DataBase
{
const AUTHOR="kym";
static $connectionString="http://127.0.0.1";
public static function CreateConnection()
{
echo(self::$connectionString." Success");
}
}
echo(DataBase::AUTHOR);
echo(DataBase::$connectionString);
DataBase::CreateConnection();
?>
您可能感興趣的文章:
- Javascript學(xué)習(xí)筆記5 類和對(duì)象
- C++中對(duì)象的賦值與復(fù)制操作詳細(xì)解析
- C++對(duì)象的動(dòng)態(tài)建立與釋放詳解
- C++中對(duì)象的常引用總結(jié)
- C++中的對(duì)象指針總結(jié)
- JS創(chuàng)建類和對(duì)象的兩種不同方式
- C++模板類的用法實(shí)例
- C++封裝線程類的實(shí)現(xiàn)方法
- C++基礎(chǔ)入門教程(六):為什么創(chuàng)建類的時(shí)候要用new?
- JavaScript定義類和對(duì)象的方法
- C++實(shí)現(xiàn)的鏈表類實(shí)例
- C++之類的靜態(tài)變量
- C++中的string類的用法小結(jié)
- C++類和對(duì)象實(shí)例解析(二)
相關(guān)文章
Extended CHM PHP 語法手冊(cè)之 DIY
Extended CHM PHP 語法手冊(cè)之 DIY...2006-10-10PHP 存取 MySQL 數(shù)據(jù)庫的一個(gè)例子
PHP 存取 MySQL 數(shù)據(jù)庫的一個(gè)例子...2006-10-10一步一步學(xué)習(xí)PHP(5) 類和對(duì)象
OO的強(qiáng)大我不想再多說,如果你不認(rèn)同OO,那么當(dāng)你放眼當(dāng)前流行的語言,有哪個(gè)又不支持OO的,也許這個(gè)很有說服力了吧。2010-02-02基于數(shù)據(jù)庫的在線人數(shù),日訪問量等統(tǒng)計(jì)
基于數(shù)據(jù)庫的在線人數(shù),日訪問量等統(tǒng)計(jì)...2006-10-10