首页 > 学院 > 开发设计 > 正文

面向过程(2)

2019-11-11 03:16:36
字体:
来源:转载
供稿:网友

面向对象的访问控制修饰符

访问控制的修饰符: 是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::time;调用静态的成员属性的时候一定要加符号。

静态的成员属性属于公共的,不属于某一个具体的对象。

魔术方法:

1.__get($name) 触发时机:当调用一个不可访问的成员属性的时候,会自动触发,可以利用这个方法来完成对不可调用的属性进行调用,但是不能设置值。

2.__set(name,value) 触发时机:当给一个不可访问的成员属性赋值的时候,会自动触发这个方法,可以利用这个方法完成对不可以访问的属性进行赋值。

3.__isset($name) 触发时机:当使用isset()函数来判断一个对象的属性的时候,如果这个属性不存在或者不可访问的时候,会触发这个魔术方法

4.__call(method,args) 触发时机:当调用一个不存在的成员方法或者是不可以访问的成员方法的时候会被触发

5.__callStatic(method,args) public static function __callStatic() 触发时机UAN:当调用一个不存在的成员方法或者是不可以访问的成员访问的时候会被触发

6.__unset() 触发时机:当要销毁不存在的成员属性或者不可访问的成员属性的时候,会被触发。

7.__sleep() 触发时机:当使用serialize的把对象进行序列化的时候,会触发。

public function __sleep() { return array(‘xxx’); //指定可以被序列话的属性 }

8.__wakeup() 触发时机:当使用unserialize 的反序列化一个对象的时候,会触发

public function __wakeup() {

}

9.__toString() 触发时机:在echo 一个对象的时候,会触发

public function __toString() { return ‘小可爱’; }


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表