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

php中final static $this关键字

时间:2016-02-19 00:45来源: 作者: 点击:
在php中final static $this关键字主要是用在类中或对象中,下面我来把我学习final static $this笔记记录下来,有需要了解的朋友可参考参考. final关键字 php final关键字用来在一个函数或者类名称前
在php中final static $this关键字主要是用在类中或对象中,下面我来把我学习final static $this笔记记录下来,有需要了解的朋友可参考参考.
 
final关键字
 
php final关键字用来在一个函数或者类名称前面,表明该函数不能被重写或者该类不能被继承.
 
1、final方法不能被重写.
 
如果不希望类中某个方法被子类重写,只需要在这个方法前加上关键字final,即设置final方法.
 
实例代码如下:
 
<?php  
 class ex1{ 
  final function fn1(){ 
   return "php"; 
  } 
 } 
 class ex2 extends ex1{ 
  function fn1(){ 
   return "html"; 
  } 
 } 
 $p= new ex2(); 
 echo $p->fn1(); 
?> 
加了final关键字的方法不能被重写,运行出错.
 
2、final类不能被继承.
 
被声明了final的类不能被继承,否则出错.
 
实例代码如下:
 
<?php  
 final class ex1{ 
  private $name; 
 } 
 class ex2 extends ex1{ 
  private $age; 
 } 
?> 
static关键字
 
php static关键字不仅可以用来声明一个静态变量,在类中同样可以声明静态的属性或者方法,成为“类属性”或“类方法”.
 
1、声明了静态的属性和方法后,在类中不能用$this关键字来引用,可以使用下面两种方法引用:
 
在类中:self::静态成员名称
 
在类外:类名称::静态成员名称
 
2、访问该类时,可不必实例化,直接使用类名称::静态成员名称的格式.
 
静态属性实例:
 
实例代码如下:
 
<?            
 class user{         
 private static $count = 10;     
 private static $sum=1;      
 public function __construct(){     
 for($i=1;$i<11;$i++){       
  self::$sum = self::$sum * self::$count; /* 调用静态变量 */ 
  self::$count--;       
 }    
 } 
 public function getCount(){     
  return self::$sum;      
 } 
 } 
 $user1 = new user();       
 echo $user1->getCount();   
?> 
静态方法实例:
 
实例代码如下:
 
<?              
 class Math{            
  public static function sum($num1,$num2){   
  return $num1 + $num2;        
  } 
  public static function product($num1,$num2){ 
  return $num1 * $num2;        
 } 
  }     
 $a = 88;            
 $b = 100;           
 echo "两数之和为: ";         
 echo "<br>";           
 echo Math::sum($a,$b);        
 echo "<P>";           
 $a = 66;            
 $b = 88;            
 echo "两数之积为: ";         
 echo "<br>";           
 echo Math::product($a,$b);        
?> 
$this关键字
 
为了解决php类和对象中变量与属性的命名冲突和不确定性问题,引入了”$this”关键字来调用当前的对象.
 
在类中调用当前对象的属性和方法,必须使用”$this->”关键字;$this在构造函数中指该构造函数所创建的新对象;方法内的局部变量不属于对象,不使用$this关键字取值.
 
使用$this关键字,我们可以在类中调用对象属性或者方法.
 
1、调用变量
 
实例代码如下:
 
<?php  
 class user{ 
  private $n; 
  function __construct(){ 
   $name="Mike"; 
   echo $this->n=$name; 
  } 
 } 
 $p=new user(); 
?> 
2、调用方法
 
实例代码如下:
 
<?php  
 class cal{ 
  public function sum($a,$b){ 
   return $a+$b; 
  } 
  public function prt($a,$c){ 
   return $a*$c; 
  } 
  public function result($a,$b,$c){ 
   $a=$this->sum($a,$b); 
   return $this->prt($a,$c); 
  } 
 } 
 $c=new cal(); 
 echo "(2+3)*10= " .$c->result('2','3','10'); 
?> 
(责任编辑:最模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------