组件php53 php55区别,分享下php5类中三种数据类型的区别
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类中三种数据类型的区别相关推荐
- Android工程中三种库的区别:Private Libraries、Referenced Libraries、Dependency Libraries
转自:https://blog.csdn.net/mybook1122/article/details/46554933 一.v4.v7.v13的作用和用法 1.Android Support V4, ...
- shell中三种引号的区别
shell 中有单引号.双引号和反引号,其中每种引号的用法也不相同,下面整理一下shell中引号的使用 单引号 str='this is a string' 单引号字符串的特点: 单引号里的任何字符都 ...
- 【转】python类中super()和__init__()的区别
[转]python类中super()和__init__()的区别 单继承时super()和__init__()实现的功能是类似的 class Base(object):def __init__(sel ...
- python super().__init__()参数_python类中super()和__init__()的区别
单继承时super()和__init__()实现的功能是类似的 class Base(object): def __init__(self): print 'Base create' class ch ...
- commons-math3-3.6.1-org.apache.commons.math3.analysis.function-包下的类(三)-中英对照文档及源码赏析
commons-math3-3.6.1-org.apache.commons.math3.analysis.function-包下的类(三)-中英对照文档及源码赏析 摘要:中英对照文档.源码赏析.or ...
- commons-math3-3.6.1-org.apache.commons.math3.analysis.integration-包下的类-中英对照文档及源码赏析
commons-math3-3.6.1-org.apache.commons.math3.analysis.integration-包下的类-中英对照文档及源码赏析 摘要:中英对照文档.源码赏析.or ...
- commons-math3-3.6.1-org.apache.commons.math3.analysis.integration.gauss-包下的类-中英对照文档及源码赏析
commons-math3-3.6.1-org.apache.commons.math3.analysis.integration.gauss-包下的类-中英对照文档及源码赏析 摘要:中英对照文档.源 ...
- 函数参数三种传递方式的区别
函数参数三种传递方式的区别 问题提出: 1.当一个类的对象作为实参数传递时,使用值传递和引用传递有什么区别? 比如: DateType ExampleFun(CString &strFileN ...
- Java03-day03【switch、循环(for、while、do...while)、三种循环的区别、跳转控制语句、Random、循环经典例题】
java零基础入门到精通(2019版)[黑马程序员] 视频+资料:[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg 提取码:zjxs] &qu ...
最新文章
- 压力传感器 ZNHM-I-5KG初步测试
- ubuntu 12.04 配置vsftpd 服务,添加虚拟用户,ssl加密
- Java的List遍历
- JS中this关键字
- GDCM:gdcm::Coder的测试程序
- Maven构建依赖项
- python 运算符重载_Python中类的运算符重载
- 百度关键词抓取工具_阿里巴巴国际站运营关键词抓取工具
- 计算机二级office试题27答案,2017年12月计算机二级MS Office习题答案(一)
- Spring学习笔记(一) 简介
- 淘宝刷DSR动态评分技巧
- 互联网专家资源分享(二)
- 精美个人导航html源码
- 【qq机器人】天气查询
- 道路中心线提取、河道中心线的提取(ArcScan)
- 疫情下的远程办公,充满了崩溃与机遇
- 我就不信了,spring基础知识这么总结整理还拿不下大厂offer(一)
- 电脑无线5g网卡发现不了网件R7000的Wifi 5g网络
- Spark-RDD实战影评数据分析一
- 如何为Web3.0世界启动完美的DAO
热门文章
- Linux中使用netstat命令的基本操作,排查端口号的占用情况
- Java接口学习(接口的使用、简单工厂、代理模式、接口和抽象类的区别)
- 使用CAS代替synchronized
- 无符号右移负数_关于负数的右移与无符号右移运算小结
- 频率统计表用c语言_空间矢量脉宽调制建模与仿真(基于C语言的SIMULINK仿真模型 | 基于SVPWM模块的仿真)...
- 如何使用echo指令向文件写入内容
- typescript索引类型_typescript入门:高级类型
- tomcat java垃圾回收_tomcat启动参数配置,内存和垃圾回收
- python程序代码_python基础二
- python selenium 怎么查找modal悬浮窗的内容_python教程:五分钟从pubmed down几万篇文献...