一步一步学习PHP(5) 类和对象
发布时间:2020-12-13 05:39:28 所属栏目:PHP教程 来源:网络整理
导读:在这一节中,我们就来看看在PHP中如何创建一个类和对象。 1. 创建类 在PHP中,创建一个类和在C#/Java中基本类似,闲话少说,给大家看个最简单的例子: div class="codetitle" a style="CURSOR: pointer" data="34711" class="copybut" id="copybut34711" onc
在这一节中,我们就来看看在PHP中如何创建一个类和对象。 1. 创建类在PHP中,创建一个类和在C#/Java中基本类似,闲话少说,给大家看个最简单的例子:<div class="codetitle"><a style="CURSOR: pointer" data="34711" class="copybut" id="copybut34711" onclick="doCopy('code34711')"> 代码如下:<div class="codebody" id="code34711"> <?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属性,那么我们需要对其进行控制,方法如下: <div class="codetitle"><a style="CURSOR: pointer" data="26425" class="copybut" id="copybut26425" onclick="doCopy('code26425')"> 代码如下:<div class="codebody" id="code26425"> class People { private $name; public function GetName() { return $this->name; } public function SetName($name) { $this->name=$name; } } 这时,我们在外界就无法访问到$name属性了。 还记得我们在上文中提到了可变函数么?在这里我们一样可以用可变函数来访问对象的方法: <div class="codetitle"><a style="CURSOR: pointer" data="4399" class="copybut" id="copybut4399" onclick="doCopy('code4399')"> 代码如下:<div class="codebody" id="code4399"> <?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#中是十分类似的。<div class="codetitle"><a style="CURSOR: pointer" data="43920" class="copybut" id="copybut43920" onclick="doCopy('code43920')"> 代码如下:<div class="codebody" id="code43920"> <?php class DataBase { public static function CreateConnection() { echo("Success"); } } DataBase::CreateConnection(); ?> 同理,声明静态属性也是一样。 <div class="codetitle"><a style="CURSOR: pointer" data="25357" class="copybut" id="copybut25357" onclick="doCopy('code25357')"> 代码如下:<div class="codebody" id="code25357"> <?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中也是一样。 <div class="codetitle"><a style="CURSOR: pointer" data="7604" class="copybut" id="copybut7604" onclick="doCopy('code7604')"> 代码如下:<div class="codebody" id="code7604"> <?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关键字。 <div class="codetitle"><a style="CURSOR: pointer" data="34307" class="copybut" id="copybut34307" onclick="doCopy('code34307')"> 代码如下:<div class="codebody" id="code34307"> <?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(); ?> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |