程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 一步一步學習PHP(5) 類和對象

一步一步學習PHP(5) 類和對象

編輯:關於PHP編程

在這一節中,我們就來看看在PHP中如何創建一個類和對象。

1. 創建類

在PHP中,創建一個類和在C#/Java中基本類似,閒話少說,給大家看個最簡單的例子:
復制代碼 代碼如下:
<?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());
?>

這裡,我們就創建一個People的類,在這裡有四個要點說明一下:

第一個是在PHP中,訪問屬性(或者方法)不是用我們所常用的點運算符(.),而是用->。

第二個是在PHP中,方法需要用function在標識,這點於Javascript很類似。

第三點是當我們聲明一個變量時,需要用var,這點也與Javascript非常類似。

第四點是在PHP中,也有著public ,protected,private三個與C#同樣的訪問修飾符,不再贅述。

在這裡,我們發現,我們可以用$p直接訪問$name屬性,那麼我們需要對其進行控制,方法如下:
復制代碼 代碼如下:
class People
{
private $name;
public function GetName()
{
return $this->name;
}
public function SetName($name)
{
$this->name=$name;
}
}

這時,我們在外界就無法訪問到$name屬性了。

還記得我們在上文中提到了可變函數麼?在這裡我們一樣可以用可變函數來訪問對象的方法:
復制代碼 代碼如下:
<?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. 靜態方法(屬性)

在PHP中聲明靜態方法(也可稱之為類方法)與C#中是十分類似的。
復制代碼 代碼如下:
<?php
class DataBase
{
public static function CreateConnection()
{
echo("Success");
}
}
DataBase::CreateConnection();
?>

同理,聲明靜態屬性也是一樣。
復制代碼 代碼如下:
<?php
class DataBase
{
static $connectionString="http://127.0.0.1";
public static function CreateConnection()
{
echo("Success");
}
}
echo(DataBase::$connectionString);
DataBase::CreateConnection();
?>

3. 類常量

在C#中,我們用const來標識常量,在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. 訪問靜態變量

我們知道,靜態屬性(方法)屬於類本身,而變量(方法)屬於對象本身,而類本身先於對象而存在,那麼我們如何來在動態方法中訪問靜態的變量(方法)呢?在PHP中,為我們提供了self關鍵字。
復制代碼 代碼如下:
<?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. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved