服务报价 | 域名主机 | 网络营销 | 软件工具| [加入收藏]
 热线电话: #
当前位置: 主页 > php教程 > php教程 >

php final static const成员属性用法

时间:2016-02-16 00:19来源: 作者: 点击:
首先来说说final 1.final不能用来修饰成员属性 2.final只能修饰类和方法 作用: 被修饰的类不能被子类所继承,被修饰的方法不能被子类的方法覆盖 ?PHP final class BaseClass{ public function test(){ e
 
首先来说说final 
 
1.final不能用来修饰成员属性 
 
2.final只能修饰类和方法 
 
作用:被修饰的类不能被子类所继承,被修饰的方法不能被子类的方法覆盖
 
<?PHP  
final class BaseClass {  
public function test() {  
echo "BaseClass::test() calledn";  
}  
final public function moreTesting() {  
echo "BaseClass::moreTesting() calledn";  
}  
}  
class ChildClass extends BaseClass {  
public function moreTesting() {  
echo "ChildClass::moreTesting() calledn";  
}  
}  
// Results in Fatal error: Cannot override final method BaseClass::moreTesting()  
?>  
然后来说说static 
 
1.static用来修饰成员属性和成员方法,但不能用来修饰类 
 
2.用static修饰的成员属性可以被同一个类的所有对象共享 
 
3.静态的数据是存在 内存中的 数据段中(初始化静态段) 
 
4.静态的数据是在类在第一次加载时,分配到内存中的 
 
5.什么是类被加载?只要在程序中使用到这个类(有这个类名出现) 
 
6.静态的成员属性都要用类名去访问,不用创建对象,不用对象去访问;在类里边可以用self代表本类($this) 
 
7.静态方法,不能访问非静态的成员属性(但是,在非静态方法却能访问静态的成员属性),非静态的成员属性,必须用对象访问,在内部访问非静态成员属性,用$this. 
 
8.如果你确定一个方法中不需使用到非静态的成员属性,则可以将这个方法声明为静态方法,不需实例化对象,就可以访问
 
例子,演示需要静态变量的例子
 
<?PHP 
   function Test() 
   { 
   $w3sky = 0; 
   echo $w3sky; 
   $w3sky++; 
   } 
?> 
静态变量与递归函数
 
<?PHP 
   function Test() 
   { 
   static $count = 0; 
    
   $count++; 
   echo $count; 
   if ($count < 10) { 
   Test(); 
   } 
   $count--; 
   } 
?> 
注:静态变量可以按照上面的例子声明,如果在声明中用表达式的结果对其赋值会导致解析错误.
 
例子,声明静态变量
 
<?PHP 
   function foo(){ 
   static $int = 0;// correct 
   static $int = 1+2;   // wrong (as it is an expression) 
   static $int = sqrt(121); // wrong (as it is an expression too) 
    
   $int++; 
   echo $int; 
   } 
?> 
最后来说说const
 
1.它只能用来修饰成员属性 
 
2.在类中声明常量必须使用const 
 
3.访问方式和访问静态成员属性一样(类外使用 类名::成员属性,类里边则使用self::成员属性) 
 
4.常量一定要在声明的时候就给初始值
 
<?php 
class say_const{ 
const CHARSET=”中国”; 
publice function say_hello(){ 
 echo slef::CHARSET; 
$const1=new say_const()’ 
$const1->say_hello(); 
?> 
常量只能包含标量数据(boolean,integer,float 和 string),不要定义 resource常量. 
 
可以用函数 constant() 来读取常量的值.get_defined_constants()可以获得所有已定义的常量列表. 
 
如果使用了一个未定义的常量,PHP 假定想要的是该常量本身的名字,如同用字符串调用它一样(CONSTANT 对应 “CONSTANT”),此时将发出一个 E_NOTICE 级的错误.
(责任编辑:最模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容