2012年(29)
分类: Python/Ruby
2012-04-10 16:45:35
example:
class c1 {
protected $module;
function __construct($module) {
$this->module = $module;
}
}
class c2 extends c1 {
function __construct($module, $ip) {
parent :: __construct($module); //继承父类 construct
echo $this->module;
}
}
$oo2 = new c2('user', 'ip');
public 表示全局,类内部外部和子类都可以访问;
protected 表示受保护的,只有本类或子类或父类中可以访问;
private 表示私有的,只有本类内部可以访问;
__set() 取得当前类中封装过私有属性或者方法重新执行或赋值操作
__get() 取得当前类中封装过属性或方法并转换成共有属性
__call($funname,$arr_value) 调用一些不存在的对象方法的异常处理,使程序继续正常运行。 $arr_value是一个数组
__tostring() 我们可以直接打印对象句柄,从而获得该方法的基本信息或其他内容。 描述该类的基本功能.
__construct 初始化对象 可以初始对象是传入变量
__destruct 回收调用对象产生的垃圾
final 锁定, 当定义类的时候该类将不能被继承,当用来定义方法的时候该方法将不能被重载
self 用来用类访问当前类中的内容的关键字, 类似与$this关键字,但$this是需要类实例化以后才可以使用,self 可以直接访问当前类中的内部成员
static 用来定义类的静态属性或方法,可以在类未被实例化时使用,静态属性单独占用内存而不会因创建多个对象时而导致同样的方法或者属性重复占用。
const 用来定义类中的常量.
abstract 抽象类 抽象类不能被实例化,只能继承,继承类不许重载方法才能使用,常用于用户规范命名规则
interface 接口类:一种成员属性全部为抽象的特殊抽象类,在程序中同为规范的作用. 特点:
//1、类中全部为抽象方法
//2、抽象方法前不用加abstract
//3、接口抽象方法属性为public
//4、成员属性必须为常量
//1、本身都不能被实例化,必须被继承或者引用
//2、继承或者引用后,需要把所有抽象方法重载方可使用
//implements 继承接口类,多个引用接口并用逗号 "," 分开