【www.gdgbn.com--其他相关】

为了使这个系统更强大,我们不希望所有用户在我们组具有相同的地位。有些用户需要管理员,其他主持人,和其他普通用户只。我们怎么能考虑到这一点在我们的物体?答案是继承-的能力一类的继承方法和属性从另一个类别。首先,让我们来看看继承代码:

/* Kirupa has admin powers */
$kirupa = new Admin( array( "name" => "Kirupa" ) );
echo $kirupa->getName()."
"; // Kirupa
echo $kirupa->getAdmin();  // Administrator

/* Regular does not have admin powers */
$regular = new User( array( "name" => "Regular" ) );
$regular->getAdmin();   // breaks our code


/* Normal User class */
class User {
 private $name;
 
 function __construct( $attribs ) {
  $this->name = $attribs["name"];
 }
 
 function getName() {
  return $this->name;
 }
}

/* Admin is a User, but with additional functionality */
class Admin extends User {
 function getAdmin() {
  return "Administrator";
 }
}

正如你可以看到,我们的管理对象继承了功能的用户级使用关键字扩展。最重要的是,我们的管理是提供了一些额外的功能。在这种情况下,我们的用户级被称为超。在PHP中,一类只可继承父之一。还有更多细微的继承,但本教程将只支付基本知识。在一个更现实的情况下,我们将更多的功能代码仅管理员。也许就像:

/* Additional functionality for just Administrators */
class Admin extends User {
 function banUser( $id ) {
  /* code to ban user */
 }
 
 function unbanUser( $id ) {
  /* code to unban or activate user account */
 }
 
 //...
}

为了时间和重点,这些方法并没有真正得到编码。但是,这应该给你一些深入了解如何继承的作品,为什么它可以是有益的。

继续在少数离别的话和方向。

分词
到现在为止,你应该了解对象,如何创建它们,以及如何进入其属性和方法。此教程绝非无所不包。事实上,这仅仅是冰山的一角,目的是这样。为进一步读,我建议PHP5 :对象,模式,与实践的马特Zandstra 。此外,你可以阅读对象提供的文件上php.net 。

正如你开始了解更多的面向对象和你的PHP代码变得更加面向对象,你会发现更多的代码重用,并最终节省时间和能源。预现有的代码资源,如梨和PHPClasses.org将变得越来越有用。

本文来源:http://www.gdgbn.com/asp/16972/