1

你好我是 PHP 新手,我需要帮助来了解 PHP 类的基础知识。

我想要一个使用私有公共保护和静态的类的示例。
以及它们是如何工作的..

提前致谢。

哦,我也忘记了如何扩展。我在谈论父母和孩子的东西或什么......再次感谢。

4

4 回答 4

2

所有你需要的:http: //php.net/manual/en/language.oop5.php

于 2010-10-07T14:27:45.430 回答
2

http://www.expertrating.com/courseware/PHPcourse/PHP-Classes-Objects-6.asp

于 2010-10-07T14:45:25.403 回答
1

绝对同意其他所有人。您应该阅读 5.5 亿在线 PHP 手册,包括其他答案中提供的链接。与此同时,你得到这个:

class one {
   private $name;
   const ONE = 'ONE';

   // php magic function.  allocate memory for object upon instantiation
   // called with new
   public function __construct($name = null) {
      $this->init($name);
   }

   protected function name() {
      return $this->name;
   }

   // php magic function called when object variable is accessed in a string context
   public function __toString() {
      return __CLASS__ . ': ' . $this->name;
   }

   // static functions can be called without instantiation
   public static function con() {
      echo self::ONE;
   }

   private function init($name) {
      $this->name = $name;
   }
}


// two cannot overwrite method init() -- it is private.
// two has no access to $name.  It is private in one and not visible to two
class two extends one {
   // protected methods can be overwritten
   protected function name() {
      return parent::name();
   }
   // so can public methods
   public function __toString() {
      return __CLASS__ . ': ' . $this->name();
   }
}

// static method call; no instantiation needed
echo one::con() . "\n"; // ONE
// public methods can be called by child class
echo two::con() . "\n"; // ONE
$one = new one('uno');
echo "$one\n"; // one: uno
$two = new two('dos');
echo "$two\n"; // two: dos
$one->name(); // bork! No public access to this method
于 2010-10-08T05:41:41.927 回答