PHP中面向对象的关键字
php面向对象中常用的关键字有final、static、const
(1)final:
1,final不能修饰成员属性
2,final只能修饰类和方法
作用:
使用final修饰的类不能被子类继承
使用final修饰的方法不能被子类去覆盖
用来限制类不被继承,方法不能被覆盖就使用final
(2、)static:
1,使用static可以修饰成员属性和成员方法,不能修饰类
2,用static修饰的成员属性,可以被同一个类的所有对象共享
3,静态的数据是存在内存中的数据段中(初始化静态段)
4,静态的数据是在类每一次加载时分配到内存中的,以后再用到类时就直接从数据段中 获取
5,只要在程序中使用到这个类(有这个类名出现)就是类被加载
注意:静态的成员都要使用类名去访问,不用创建对象,不用对象去访问
类名::静态成员
如果在类中使用静态成员,可以使用self代表本类(功能相当于$this)
self::静态成员
6,静态方法,不能访问非静态的成员,非静态的方法中,可以访问静态成员。
这是因为非静态的成员,就必须用对象来访问,访问内部的成员使用的就是$this,静态方法不用使用对象来调用,也就没有对象,$this也就不能代表什么对象,非静态的成员还必须使用对象。如果你确定一个方法不使用非静态的成员,则可以将这个方法声明为静态方法(不能创建对象,直接用类名来访问)
(3、)const:
1,它只能修饰成员属性
2,类中声明常量属性使用const
3,命名的方法与define是一样的效果
4,访问方式和static静态成员属性是一样:类名::常量 self::常量
5,常量一定要在声明时就给初值
6,常量在声明后不能被重新赋值
PHP中面向对象的关键字的更多相关文章
- PHP面向对象中常用的关键字和魔术方法
PHP面向对象中常用的关键字 final 1.final不能修饰成员属性(类中常量不是用这个关键字) 2.final只能修饰类和方法 作用: 使用fi ...
- 第2节 Scala中面向对象编程:7、继承的概念以及override和super关键字;8、isInstanceOf 和 asInstanceOf关键字
6.3. Scala面向对象编程之继承 6.3.1. Scala中继承(extends)的概念 Scala 中,让子类继承父类,与 Java 一样,也是使用 extends 关键字: 继承 ...
- C++中的static关键字的总结
C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static.前者应用于普通变量和函数,不涉及类:后者主要说明static在类中的作用. 1.面向过程设计中的st ...
- (转)C++中的static关键字的总结
文章转自 http://www.cnblogs.com/BeyondAnyTime/archive/2012/06/08/2542315.html C++的static有两种用法:面向过程程序设计中的 ...
- c++中关于static关键字的问题
C++的static关键字C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static.前者应用于普通变量和函数,不涉及类:后者主要说明static在类中的作用. ...
- C++中的static关键字(转)
原出处:http://blog.csdn.net/hackbuteer1/article/details/7487694 C++的static有两种用法:面向过程程序设计中的static和面向对象程序 ...
- 转载 深入理解JavaScript中的this关键字
转载原地址: http://www.cnblogs.com/rainman/archive/2009/05/03/1448392.html 深入理解JavaScript中的this关键字 1. 一 ...
- C++中的static关键字的总结 (转载)
C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static.前者应用于普通变量和函数,不涉及类:后者主要说明static在类中的作用. 1.面向过程设计中的st ...
- JAVA面向对象-----final关键字
JAVA面向对象-–final关键字 1:定义静态方法求圆的面积 2:定义静态方法求圆的周长 3:发现方法中有重复的代码,就是PI,圆周率. 1:如果需要提高计算精度,就需要修改每个方法中圆周率. 4 ...
随机推荐
- 【URLDecoder】java.lang.IllegalArgumentException: URLDecoder: Illegal hex characters in es
Java调用 URLDecoder.decode(str, "UTF-8"); 抛出以上的异常,其主要原因是% 在URL中是特殊字符,需要特殊转义一下, 上面的字符串中'%'是一个 ...
- [Java] Java反射
首先推荐三个十分有趣的网站: http://www.programcreek.com/simple-java/ http://tutorials.jenkov.com/ http://www.meet ...
- [Linux] 账户管理命令(二)
组管理 1)groupadd 用于添加一个用户组. 格式:groupadd [-g -o GID] GROUP 其中: GROUP:是要添加的组名 -g:用于指定 GID,默认为使用当前最大的 ...
- php代码规范—2
如何写出好的 PHP 代码? 在本文中,我们将探讨一些良好的编程习惯,这将帮助你避免代码中的缺陷. 1- 编写模块化代码 良好的PHP代码应该是模块化代码.PHP的面向对象的编程功能是一些特别强大的工 ...
- mysql取前取后
SELECT * FROM (SELECT * FROM 表 WHERE id<居中的ID ORDER BY id DESC LIMIT 5) as A UNION all SELECT * F ...
- EasyUI创建异步树形菜单和动态添加标签页tab
创建异步树形菜单 创建树形菜单的ul标签 <ul class="easyui-tree" id="treeMenu"> </ul> 写j ...
- BZOJ 1060: [ZJOI2007]时态同步
Description 一个有根树,你只能进行增加操作,问你将所有叶节点到根的路径权值相同至少需要增加几次. Sol 我也不知道该叫什么算法... 反正就是记录一下到子节点到当前节点的最大距离统计答案 ...
- 用 nssm 把 Nginx 安装成 Windows 服务方法
总之:用 nssm 比 srvany.exe 简便多了.1. 下载nginx windows版本:http://nginx.org/ 2. 下载 nssm :http://nssm.cc/3. 安装N ...
- VC++ CString类完美总结(整理)
CString 是编程中一种非常有用的数据类型,它是MFC中的一个类,很大程度上简化了MFC中的许多字符串的操作. CString位于头文件afx.h中. ①.CString 类对象的初始化: CSt ...
- 日志解析LogParse启动参数配置
-task task_stat1001to1010.yaml -log log4j_stat1001to1010.xml 用绝对路径