类的成员:
1.常量 : const 常量名 = 值;
2.属性
2.1 静态属性
2.2 实例属性
3.方法
3.1静态方法
3.2实例方法
3.3构造方法
3.4析构方法
注意:
①静态属性是属于类的,通过这个类创建的对象共享此属性
②实例方法中可以使用静态属性和静态方法
③静态方法中不可以访问实例属性和实例方法,因为静态的都是属于类的,实例的属于对象,类在的时候对象还没new出来!
<?php
header("content-type:text/html;charset=utf-8");
class C{
const PATH = "C:/windows";//类中不能使用 define定义常量
//静态属性
static $count = 66;//等价于 static public $count = 66;
//实例属性
public $name = "tom";//等价于 var $name = "tom";
//默认的无参构造函数
//function __construct(){
//
// echo "<br> __construct 无参构造方法被调用";
//}
//有参构造函数,一般用来类成员属性的初始化,php中一个类只能存在一个构造方法
function __construct($name){
$this->name = $name;
echo "<br> __construct 有参构造方法被调用";
}
//实例方法
function instanceFun(){
echo "<br>实例方法被调用";
echo "<br>实例方法中访问常量:".self::PATH;
echo "<br>实例方法中访问实例属性:{$this->name}";
echo "<br>实例方法中访问静态属性:".self::$count;//self就代表类本身
//实例方法中调用静态方法
self::staticFun();
}
//静态方法
static function staticFun(){
echo "<br>静态方法被调用";
echo "<br>静态方法中访问常量:".self::PATH;
echo "<br>静态方法中访问静态属性:".self::$count;
//注意:静态方法中无法访问实例属性
}
//析构方法,当对象被销毁的时候由系统去调用
//通常代码执行完,对象就会被销毁
function __destruct(){
echo "<br>对象 {$this->name} 被销毁";
}
}
$object = new C("哈利波特");
$object->instanceFun();
echo "<hr>";
C::staticFun();
//下面代码会使$object指向的对象被销毁
//$object = null;
//$object = new C("秦始皇");;
//$object = 3;
//unset($object);
echo "<br>程序最后一行代码。。。";