public: 公有类型    在子类中可以通过self::var 来调用 public类型的方法或属性 可以通过parent::method 来调用父类中的方法

在实例中可以能过$obj->var 来调用 public类型的方法或属性

protected: 受保护类型在子类中可以通过self::var 来调用 protected类型的方法或属性 可以通过parent::method 来调用父类中的方法

在实例中不能通过$obj->var 来调用 protected类型的方法或属性

private: 私有类型该类型的属性或方法只能在该类中使用,在该类的实例、子类中、子类的实例中都不能调用私有类型的属性和方法

2.self 和 parent 的区别a).在子类中常用到这两个对像。他们的主要区别在于self可以调用父类中的公有或受保护的属性,但parent不可以调用

b).self:: 它表示当前类的静态成员(方法和属性) 与 $this 不同,$this是指当前对像

附代码:

/**

* parent 只能调用父类中的公有或受保护的方法,不能调用父类中的属性

* self  可以调用父类中除私有类型的方法和属性外的所有数据

*/

class User{

public $name;

private $passwd;

protected $email;

public function __construct(){

//print __CLASS__." ";

$this->name= 'simple';

$this->passwd='123456';

$this->email = 'bjbs_270@163.com';

}

public function show(){

print "good ";

}

public function inUserClassPublic() {

print __CLASS__.'::'.__FUNCTION__." ";

}

protected function inUserClassProtected(){

print __CLASS__.'::'.__FUNCTION__." ";

}

private function inUserClassPrivate(){

print __CLASS__.'::'.__FUNCTION__." ";

}

}

class simpleUser extends User {

public function __construct(){

//print __CLASS__." ";

parent::__construct();

}

public function show(){

print $this->name."//public ";

print $this->passwd."//private ";

print $this->email."//protected ";

}

public function inSimpleUserClassPublic() {

print __CLASS__.'::'.__FUNCTION__." ";

}

protected function inSimpleUserClassProtected(){

print __CLASS__.'::'.__FUNCTION__." ";

}

private function inSimpleUserClassPrivate() {

print __CLASS__.'::'.__FUNCTION__." ";

}

}

class adminUser extends simpleUser {

protected $admin_user;

public function __construct(){

//print __CLASS__." ";

parent::__construct();

}

public function inAdminUserClassPublic(){

print __CLASS__.'::'.__FUNCTION__." ";

}

protected function inAdminUserClassProtected(){

print __CLASS__.'::'.__FUNCTION__." ";

}

private function inAdminUserClassPrivate(){

print __CLASS__.'::'.__FUNCTION__." ";

}

}

class administrator extends adminUser {

public function __construct(){

parent::__construct();

}

}

/**

* 在类的实例中 只有公有属性和方法才可以通过实例化来调用

*/

$s = new administrator();

print '-------------------';

$s->show();

?>

组件php53 php55区别,分享下php5类中三种数据类型的区别相关推荐

  1. Android工程中三种库的区别:Private Libraries、Referenced Libraries、Dependency Libraries

    转自:https://blog.csdn.net/mybook1122/article/details/46554933 一.v4.v7.v13的作用和用法 1.Android Support V4, ...

  2. shell中三种引号的区别

    shell 中有单引号.双引号和反引号,其中每种引号的用法也不相同,下面整理一下shell中引号的使用 单引号 str='this is a string' 单引号字符串的特点: 单引号里的任何字符都 ...

  3. 【转】python类中super()和__init__()的区别

    [转]python类中super()和__init__()的区别 单继承时super()和__init__()实现的功能是类似的 class Base(object):def __init__(sel ...

  4. python super().__init__()参数_python类中super()和__init__()的区别

    单继承时super()和__init__()实现的功能是类似的 class Base(object): def __init__(self): print 'Base create' class ch ...

  5. commons-math3-3.6.1-org.apache.commons.math3.analysis.function-包下的类(三)-中英对照文档及源码赏析

    commons-math3-3.6.1-org.apache.commons.math3.analysis.function-包下的类(三)-中英对照文档及源码赏析 摘要:中英对照文档.源码赏析.or ...

  6. commons-math3-3.6.1-org.apache.commons.math3.analysis.integration-包下的类-中英对照文档及源码赏析

    commons-math3-3.6.1-org.apache.commons.math3.analysis.integration-包下的类-中英对照文档及源码赏析 摘要:中英对照文档.源码赏析.or ...

  7. commons-math3-3.6.1-org.apache.commons.math3.analysis.integration.gauss-包下的类-中英对照文档及源码赏析

    commons-math3-3.6.1-org.apache.commons.math3.analysis.integration.gauss-包下的类-中英对照文档及源码赏析 摘要:中英对照文档.源 ...

  8. 函数参数三种传递方式的区别

    函数参数三种传递方式的区别 问题提出: 1.当一个类的对象作为实参数传递时,使用值传递和引用传递有什么区别? 比如: DateType ExampleFun(CString &strFileN ...

  9. Java03-day03【switch、循环(for、while、do...while)、三种循环的区别、跳转控制语句、Random、循环经典例题】

    java零基础入门到精通(2019版)[黑马程序员] 视频+资料:[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg   提取码:zjxs] &qu ...

最新文章

  1. 压力传感器 ZNHM-I-5KG初步测试
  2. ubuntu 12.04 配置vsftpd 服务,添加虚拟用户,ssl加密
  3. Java的List遍历
  4. JS中this关键字
  5. GDCM:gdcm::Coder的测试程序
  6. Maven构建依赖项
  7. python 运算符重载_Python中类的运算符重载
  8. 百度关键词抓取工具_阿里巴巴国际站运营关键词抓取工具
  9. 计算机二级office试题27答案,2017年12月计算机二级MS Office习题答案(一)
  10. Spring学习笔记(一) 简介
  11. 淘宝刷DSR动态评分技巧
  12. 互联网专家资源分享(二)
  13. 精美个人导航html源码
  14. 【qq机器人】天气查询
  15. 道路中心线提取、河道中心线的提取(ArcScan)
  16. 疫情下的远程办公,充满了崩溃与机遇
  17. 我就不信了,spring基础知识这么总结整理还拿不下大厂offer(一)
  18. 电脑无线5g网卡发现不了网件R7000的Wifi 5g网络
  19. Spark-RDD实战影评数据分析一
  20. 如何为Web3.0世界启动完美的DAO

热门文章

  1. Linux中使用netstat命令的基本操作,排查端口号的占用情况
  2. Java接口学习(接口的使用、简单工厂、代理模式、接口和抽象类的区别)
  3. 使用CAS代替synchronized
  4. 无符号右移负数_关于负数的右移与无符号右移运算小结
  5. 频率统计表用c语言_空间矢量脉宽调制建模与仿真(基于C语言的SIMULINK仿真模型 | 基于SVPWM模块的仿真)...
  6. 如何使用echo指令向文件写入内容
  7. typescript索引类型_typescript入门:高级类型
  8. tomcat java垃圾回收_tomcat启动参数配置,内存和垃圾回收
  9. python程序代码_python基础二
  10. python selenium 怎么查找modal悬浮窗的内容_python教程:五分钟从pubmed down几万篇文献...