教程集 www.jiaochengji.com
教程集 >  脚本编程  >  php  >  正文 php final static const成员属性用法

php final static const成员属性用法

发布时间:2017-10-23   编辑:jiaochengji.com
教程集为您提供php final static const成员属性用法等资源,欢迎您收藏本站,我们将为您提供最新的php final static const成员属性用法资源

首先来说说final
1.final不能用来修饰成员属性
2.final只能修饰类和方法
作用:被修饰的类不能被子类所继承;被修饰的方法不能被子类的方法覆盖。

<blockquote>

< ?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() 

?> 

</blockquote>


然后来说说static
1.static用来修饰成员属性和成员方法,但不能用来修饰类
2.用static修饰的成员属性可以被同一个类的所有对象共享
3.静态的数据是存在 内存中的 数据段中(初始化静态段)
4.静态的数据是在类在第一次加载时,分配到内存中的
5.什么是类被加载?只要在程序中使用到这个类(有这个类名出现)
6.静态的成员属性都要用类名去访问,不用创建对象,不用对象去访问;在类里边可以用self代表本类($this)
7.静态方法,不能访问非静态的成员属性(但是,在非静态方法却能访问静态的成员属性),非静态的成员属性,必须用对象访问,在内部访问非静态成员属性,用$this.
8.如果你确定一个方法中不需使用到非静态的成员属性,则可以将这个方法声明为静态方法,不需实例化对象,就可以访问

例子 演示需要静态变量的例子

<blockquote><?PHP
   function Test()
   {
   $w3sky = 0;
   echo $w3sky;
   $w3sky ;
   }
   ?></blockquote>

静态变量与递归函数

<blockquote><?PHP
   function Test()
   {
   static $count = 0;
  
   $count ;
   echo $count;
   if ($count < 10) {
   Test();
   }
   $count--;
   }
   ?></blockquote>

注: 静态变量可以按照上面的例子声明。如果在声明中用表达式的结果对其赋值会导致解析错误。

例子 声明静态变量

<blockquote><?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;
   }
   ?></blockquote>


最后来说说const
1.它只能用来修饰成员属性
2.在类中声明常量必须使用const
3.访问方式和访问静态成员属性一样(类外使用 类名::成员属性,类里边则使用self::成员属性)
4.常量一定要在声明的时候就给初始值

<blockquote><?php教程
class say_const{
const CHARSET=”中国”;
publice function say_hello(){
 echo slef::CHARSET;
}
}
$const1=new say_const()’
$const1->say_hello();
?> </blockquote>

常量只能包含标量数据(boolean,integer,float 和 string),不要定义 resource常量.
可以用函数 constant() 来读取常量的值.get_defined_constants()可以获得所有已定义的常量列表.
如果使用了一个未定义的常量,PHP 假定想要的是该常量本身的名字,如同用字符串调用它一样(CONSTANT 对应 “CONSTANT”),此时将发出一个 E_NOTICE 级的错误.

您可能感兴趣的文章:
PHP面向对象开发之类的常用关键字
php中$this、static、final、const、self的用法
php final static const成员属性用法
php入门教程(十六) php常见关键字
php final关键字的应用
理解php5中static和const关键字用法
PHP中关键字与魔术方法介绍
php中如何实例化一个类
PHP 类的变量与成员,及其继承、访问与重写时要注意的问题
Java中final关键字的使用教程

[关闭]
~ ~