在php中public、protected、private三者之间的区别
2013-02-18 10:43
483 查看
一、public、protected、private
首先我们要知道,public、protected、private 这三者都是用于PHP类或方法的访问控制模式
1、public: 公共类型
在子类中可以通过self::var调用public方法或属性,parent::method调用父类方法
在实例中可以能过$obj->var 来调用 public类型的方法或属性
简单的说就是该类型的类或方法,都可以在其它或方法中调用,相当于资源共享
2、protected: 受保护类型
在子类中可以通过self::var调用protected方法或属性,parent::method调用父类方法
在实例中不能通过$obj->var 来调用 protected类型的方法或属性
用一句俗话说,就是老子的东西可以给儿子用,如果没有直系血缘关系的是不可以用的
3、private: 私有类型
该类型的属性或方法只能在该类中使用,在该类的实例、子类中、子类的实例中都不能调用私有类型的属性和方法
私有的应该比较好理解,就像私人财产,任何人都不可以动
二.self 和 parent 的区别
1、在子类中常用到这两个对像。他们的主要区别在于self可以调用父类中的公有或受保护的属性,但parent不可以调用
[align=left] 2、self:: 它表示当前类的静态成员(方法和属性) 与 $this 不同,$this是指当前对像[/align]
代码实例:
欢迎转载,转载请注明:http://yezis.cn/thread-35794-1-1.html
首先我们要知道,public、protected、private 这三者都是用于PHP类或方法的访问控制模式
1、public: 公共类型
在子类中可以通过self::var调用public方法或属性,parent::method调用父类方法
在实例中可以能过$obj->var 来调用 public类型的方法或属性
简单的说就是该类型的类或方法,都可以在其它或方法中调用,相当于资源共享
2、protected: 受保护类型
在子类中可以通过self::var调用protected方法或属性,parent::method调用父类方法
在实例中不能通过$obj->var 来调用 protected类型的方法或属性
用一句俗话说,就是老子的东西可以给儿子用,如果没有直系血缘关系的是不可以用的
3、private: 私有类型
该类型的属性或方法只能在该类中使用,在该类的实例、子类中、子类的实例中都不能调用私有类型的属性和方法
私有的应该比较好理解,就像私人财产,任何人都不可以动
二.self 和 parent 的区别
1、在子类中常用到这两个对像。他们的主要区别在于self可以调用父类中的公有或受保护的属性,但parent不可以调用
[align=left] 2、self:: 它表示当前类的静态成员(方法和属性) 与 $this 不同,$this是指当前对像[/align]
代码实例:
#首先我们创建一个类A class A{ public function f1(){ #我的公共的 echo '我的公共的'; } public function f2(){ #我是私有的 echo '我是私有的'; } public function f3(){ #我是私有的 echo '我是私有的'; } } #我们再创建一个子类B,继承父类A class B extends A{ #我们先来调用父类的方法 $this->f1(); #这样是正确的 $this->f2(); #这样是正确的 $this->f3(); #这样是错误的,因为F3方法是私有的,只可以被本身调用 #其它的就不多说了,慢慢去体会一下 }
欢迎转载,转载请注明:http://yezis.cn/thread-35794-1-1.html
相关文章推荐
- php private ,public protected三者的区别
- php面向对象之private、protected、public三者权限控制区别
- php面向对象之private、protected、public三者权限控制区别
- php的public、protected、private三种访问控制模式的区别
- php关于private、protected、public的区别
- php的public、protected、private三种访问控制模式的区别
- public private protected 三者之间关系
- php class中public,private,protected的区别,以及实例
- PHP对象中 public private protected 区别
- [转]php的public、protected、private三种访问控制模式的区别
- private、protected、public三者权限控制区别
- php public protected private的区别
- java当中public protected default private之间的区别
- php class中public,private,protected,static的区别,以及实例
- php中的public、protected、private三种访问控制模式及self和parent的区别(转)
- php class中public,private,protected的区别以及实例分析
- php class中public,private,protected的区别,以及实例
- php的public、protected、private三种访问控制模式的区别
- private public protected 三者区别
- PHP public private protected 三种修饰符的区别