萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php 引用與繼承教程

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 © 萬盛學電腦網 all rights reserved