快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

PHP中实现面向对象编程

  这篇文章介绍在PHP的面向对象编程(OOP)。我将演示如何用面向对象的概念编出较少的代码但更好的程序。祝大家好运。

  面向对象编程的概念对每一个作者来说都有不同的看法,我提醒一下一个面向对象语言应有的东西:

   - 数据抽象和信息隐藏
   - 继续
   - 多态性

  在PHP中使用类进行封装的办法:

class Something {
// In OOP classes are usually named starting with a cap letter.
var $x;

function setX($v) {
// Methods start in lowercase then use lowercase to seprate
// words in the method name example getValueOfArea()
$this->x=$v;
}

function getX() {
return $this->x;
}
}

?>

  当然你可以用你自己的办法,但有一个标准总是好的。

  PHP中类的数据成员使用 "var" 定义,数据成员是没有类型直到被赋值。一个数据成员可能是一个 integer、数组、联合数组(associative array)或甚至对象(object). 方式在类里定义成函数,在方式里存取数据成员,你必须使用$this->name 这样的办法,否则对方式来说是一个函数的局部变量。

  使用 new 来创建一个对象

$obj = new Something;

  然后使用成员函数

$obj->setX(5);
$see = $obj->getX();

  setX 成员函数将 5 赋给对象(而不是类)obj 中成员变量, 然后 getX 返回值 5.

  你也可以用对象引用来存取成员变量,例如:$obj->x=6; 然而,这不一种好的面向对象编程的方式。我坚持你应使用成员函数来设置成员变量的值和通过成员函数来读取成员变量。假如你认为成员变量是不可存取的除了使用成员函数的办法,你将成为一个好的面向对象程序员。 但不幸的是PHP本身没有办法声明一个变量是私有的,所以答应糟糕的代码存在。

  在 PHP 中继续使用 extend 来声明。

class Another extends Something {
 var $y;
 function setY($v) {
  // Methods start in lowercase then use lowercase to seperate
  // words in the method name example getValueOfArea()
  $this->y=$v;
 }

 function getY() {
  return $this->y;
 }
}

?>

  这样类 "Another" 的对象拥有父类的所用成员变量及方式函数,再加上自己的成员变量及成员函数。如:

$obj2=new Another;
$obj2->setX(6);
$obj2->setY(7);

  多重继续不被支持,所以你不能让一个类继续多个类。

  在继续类中你可以重新定义来重定义方式,假如我们在 "Another" 重新定义 getX,那么我们不再能存取 "Something" 中的成员函数 getX. 同样,假如我们在继续类中声明一个和父类同名的成员变量,那么继续类的变量将隐藏父类的同名变量。

  你可以定义一个类的构造函数, 构造函数是和类同名的成员函数,在你创建类的对象时被调用。

class Something {
 var $x;

 function Something($y) {
  $this->x=$y;
 }

 function setX($v) {
  $this->x=$v;
 }

 function getX() {
  return $this->x;
 }
}

?>

本新闻共4页,当前在第1页  1  2  3  4  

本新闻共2页,当前在第1页  1  2  


返回类别: 教程
上一教程: php3,4中session的实现
下一教程: 测试已经无误,重新发布的修改后的分页类,附点说明

您可以阅读与"PHP中实现面向对象编程"相关的教程:
· PHP的面向对象编程:开发大型PHP项目的方式(五)
· PHP的面向对象编程:开发大型PHP项目的方式(四)
· PHP的面向对象编程:开发大型PHP项目的方式(二)
· PHP面向对象编程迅速入门
· PHP的面向对象编程
    微笑服务 优质保证 索取样品