当前位置: 首页 > 图文教程 > 网络编程 > PHP > 一步一步学习PHP(5) 类和对象

PHP
PHP 开发环境的选择、建立及使用(5)
PHP 开发环境的选择、建立及使用(6)
PHP 开发环境的选择、建立及使用(7)
PHP 开发环境的选择、建立及使用(8)
PHP 开发环境的选择、建立及使用(9)
Win2003下APACHE PHP5 MYSQL4 PHPMYADMIN 的简易安装配置
PHP新手上路(八) 文件上传
PHP新手上路(九) 投票系统
PHP新手上路(十) 简易banner动态更替
PHP新手上路(十一) 数据库链接
PHP新手上路(十二)使用PHP来操作Oracle数据库
PHP新手上路(十三)PHP资源
PHP新手上路(十四) 其他杂项
session全教程(一)
session全教程(二)
session全教程(三)
PHP编码规范
第十五节--Zend引擎的发展 -- Classes and Objects in PHP5 [15]
第十四节--命名空间 -- Classes and Objects in PHP5 [14]
第十二节--类的自动加载 -- Classes and Objects in PHP5 [12]

一步一步学习PHP(5) 类和对象


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-02-27   浏览: 312 ::
收藏到网摘: n/a

OO的强大我不想再多说,如果你不认同OO,那么当你放眼当前流行的语言,有哪个又不支持OO的,也许这个很有说服力了吧。 在这一节中,我们就来看看在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();
?>