标签:
1. 类和命名空间的介绍
foo.php:
<?php
// require_once ‘lib.php‘;
// $h = new Hello(); //类的实例
// $h->sayHello(); //实例访问类的方法
s
// $d = new Desktop();
// $d-> work();
// require_once ‘Apple/foo.php‘; //foo.php的文件位置
// $h = new \jkxy\Hello(); //foo.php的命名空间,在Hello类,namespace jkxy;
// $h->sayHello();
require_once ‘lib.php‘;
$m = new Man(10,‘iwen‘);
echo $m->getName();
lib.php:
<?php
// class Hello{
// public function sayHello(){
// echo ‘hello php‘;
// }
// }
// class Desktop{
// public function work(){
// echo ‘work‘;
// }
// }
2. 成员方法和类方法,类的继承和重写:People.php >> Man.php, foo.php调用Man.php,看看Man.php的继承属性和重写属性
foo.php:
<?php
// require_once ‘People.php‘;
// for($i=0;$i<10;$i++){
// $p = new People(10,‘iwen‘,‘man‘);
// echo $p->getName().‘ ‘;
// }
require_once ‘Man.php‘;
$m = new Man(10,‘iwen‘);
$m->hi();
People.php:
<?php
class People{
/*
* @param int $age People‘s age
* @param string $name People‘s name
* @param string $sex People‘s sex
*/
public function __construct($age,$name,$sex){
//echo ‘Construct people‘;
$this->_age = $age;
$this->_name = $name;
$this->_sex = $sex;
People::$NUM++;
if(People::$NUM>People::MAX_PEOPLE_NUM){
throw new Exception("You can‘t create more people");
}
}
public function getAge(){
return $this->_age;
}
public function getName(){
return $this->_name;
}
public function getSex(){
return $this->_sex;
}
public function hi(){
echo $this->_name.‘ say hi‘;
}
private $_age,$_name,$_sex;
private static $NUM = 0;
const MAX_PEOPLE_NUM = 10;
public static function sayHello(){
echo ‘Hello People‘;
}
}
Man.php:
<?php
require_once ‘People.php‘;
class Man extends People{
public function __construct($age,$name){
parent::__construct($age,$name,‘man‘);
}
public function hi(){
// parent::hi();
echo ‘Man ‘.$this->getName().‘ say hi‘;
}
}
php类和命名空间介绍,成员方法和类方法,类的继承与方法重写
标签:
原文地址:http://www.cnblogs.com/htmlphp/p/4842340.html