php 引用与继承教程


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

/* Kirupa has admin powers */
$kirupa = new Admin( array( 'name' => 'Kirupa' ) );
echo $kirupa->getName().'<br />';// 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将变得越来越有用。


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3