http://www.51zxw.net/study.asp?vip=4857021
//声明一个类
class Person{
//类里面的属性
public $userName='Clive';
protected $age='27'; //受保护的,无法在类的外部访问(隐私属性)
//类里面的行为:方法
//public:共用的、默认的 ==> 可以在类的外面访问
//protected:受保护的 ==> 只能在类的里面访问
//private:私有的
public function eat(){
echo '人是要吃饭的!';
echo $this->age; //隐私属性,只能在类内部访问
}
public function run(){
echo '人是可以跑步的!';
}
//通过一个魔术常量来写构造函数
public function _construct(){
echo '我是魔术常量书写出来的构造函数!';
}
};
$p = new Person();
echo $p->userName; //公共属性,可以在类外部访问
echo '<hr/>';
$p->eat();
echo '<hr/>';
$p->run();
echo '<hr/>';
echo '<hr/>';
//声明一个类
class Cat{
//类里面的属性
public $userName;
public $age;
//类里面的行为:方法
//构造函数
// public function Cat($userName,$age){
// //$this 表示当前对象
// $this->userName=$userName;
// $this->age=$age;
// echo '我是用5.5版本以前的方法写的构造函数!';
// }
//通过一个魔术常量来写构造函数(注意:魔术常量的下划线是两根)
public function __construct($userName,$age){
//$this 表示当前对象
$this->userName=$userName;
$this->age=$age;
echo '我是魔术常量书写出来的构造函数!';
}
public function __destruct(){
echo '析构函数会在对象的所有引用被删除或者显示的消失之前被调用!';
}
};
//构造函数在创建new对象的时候调用
$c=new Cat('clibe',27);
echo '<hr/>';
echo $c->userName;
echo '<hr/>';
$c=null;
echo '<hr/>';echo '<hr/>';
//声明一个类
class Dog{
private $useName;
private $age; //设置私有属性:age
//setAge:给age设值 或者用魔术常量:_set
public function setAge($age){
//$this->age = 16;
//$this->age = private $age;
$this->age = $age;
}
//getAge:给age取值 或者用魔术常量:_get
public function getAge(){
return $this->age;
}
public function __set($key,$value){
$this->useName = $value;
}
public function __get($key){
return $this->useName;
}
}
$dog = new Dog();
$dog->setAge(16);
echo $dog->getAge();
echo '<hr/>';
$dog->__set('userName','clibe' );
echo $dog->__get('userName');