访问控制的修饰符: 是public、PRotected、private来修饰类的成员属性和成员方法,可以有不同的权限。 public:(公有的)类里面调用和类外面调用都是可以的。 protected:(受保护的)类里面可以被调用,类外面不可以。 private:(私有的)类里面可以被调用,类外面不可以。
类的继承: 继承就是对已有的类进行一个复用的使用。 继承之后可以自动拥有被继承的类的成员属性和成员方法。 我们通常把被继承的类叫做父类(也叫做基类),那么继承别人的这个类叫做子类(派生类)。 父类拥有的修饰符被继承的时候会有区别。 一个父类可以被多个子类来继承。 继承具有传递性,子类还可以继续被继承。
语法:
通过extends 关键词来编写
访问修饰符在继承里面的权限问题
类内部 类外部 继承里面public 可以 可以 可以 protected 可以 不可以 不可以private 可以 不可以 不可以继承遇到访问修饰符的权限问题 权限大小的排序:(由大到小)public->protected->private 当父类是public的时候,子类只能是public、protected 当父类是private的时候,子类可以是public、protected、private
注意:所有的魔术方法都会被继承、所有的魔术方法都可以被重载
parent关键词: 使用parent::父类的方法,可以在子类的方法中调用
final关键词 所有定义了final关键词的类都不能被继承 final class jilei {
}
静态成员方法和静态的成员属性: class wan { public static time = ‘1天’; public static function xxx() { echo ‘这就是一个静态的成员方法’; echo self::time; //在类的内部调用静态的成员属性的时候要使用slef或者类名关键词,推荐在类的内部用self。 echo wan::$time; self::yukuai(); //在类的内部调用静态的成员方法的时候,也要使用self或者类名关键词,推荐在类的内部使用self
wan::yukuai();}public static function yukuai(){ echo '开心起来';}}
wan::xxx(); 在类的外部调用静态的成员方法 wan::
静态的成员属性属于公共的,不属于某一个具体的对象。
1.__get($name) 触发时机:当调用一个不可访问的成员属性的时候,会自动触发,可以利用这个方法来完成对不可调用的属性进行调用,但是不能设置值。
2.__set(
3.__isset($name) 触发时机:当使用isset()函数来判断一个对象的属性的时候,如果这个属性不存在或者不可访问的时候,会触发这个魔术方法
4.__call(
5.__callStatic(
6.__unset() 触发时机:当要销毁不存在的成员属性或者不可访问的成员属性的时候,会被触发。
7.__sleep() 触发时机:当使用serialize的把对象进行序列化的时候,会触发。
public function __sleep() { return array(‘xxx’); //指定可以被序列话的属性 }
8.__wakeup() 触发时机:当使用unserialize 的反序列化一个对象的时候,会触发
public function __wakeup() {
}
9.__toString() 触发时机:在echo 一个对象的时候,会触发
public function __toString() { return ‘小可爱’; }
新闻热点
疑难解答