php中final static $this关键字学习笔记

在php中final static $this关键字主要是用在类中或对象中,下面我来把我学习final static $this笔记记录下来,有需要了解的朋友可参考参考.

final关键字

php final关键字用来在一个函数或者类名称前面,表明该函数不能被重写或者该类不能被继承.

1、final方法不能被重写.

如果不希望类中某个方法被子类重写,只需要在这个方法前加上关键字final,即设置final方法.

实例代码如下:

  1. <?php  
  2.  class ex1{ 
  3.   final function fn1(){ 
  4.    return "php"
  5.   } 
  6.  } 
  7.  class ex2 extends ex1{ 
  8.   function fn1(){ 
  9.    return "html"
  10.   } 
  11.  } 
  12.  $pnew ex2(); 
  13.  echo $p->fn1(); 
  14. ?> 

加了final关键字的方法不能被重写,运行出错.

2、final类不能被继承.

被声明了final的类不能被继承,否则出错.

实例代码如下:

  1. <?php  
  2.  final class ex1{ 
  3.   private $name
  4.  } 
  5.  class ex2 extends ex1{ 
  6.   private $age
  7.  } 
  8. ?> 

static关键字

php static关键字不仅可以用来声明一个静态变量,在类中同样可以声明静态的属性或者方法,成为“类属性”或“类方法”.

1、声明了静态的属性和方法后,在类中不能用$this关键字来引用,可以使用下面两种方法引用:

在类中:self::静态成员名称

在类外:类名称::静态成员名称

2、访问该类时,可不必实例化,直接使用类名称::静态成员名称的格式.

静态属性实例:

实例代码如下:

  1. <?            
  2.  class user{         
  3.  private static $count = 10;     
  4.  private static $sum=1;      
  5.  public function __construct(){     
  6.  for($i=1;$i<11;$i++){       
  7.   self::$sum = self::$sum * self::$count/* 调用静态变量 */ 
  8.   self::$count–;       
  9.  }    
  10.  } 
  11.  public function getCount(){     
  12.   return self::$sum;      
  13.  } 
  14.  } 
  15.  $user1 = new user();       
  16.  echo $user1->getCount();   
  17. ?> 

静态方法实例:

实例代码如下:

  1. <?              
  2.  class Math{            
  3.   public static function sum($num1,$num2){   
  4.   return $num1 + $num2;        
  5.   } 
  6.   public static function product($num1,$num2){ 
  7.   return $num1 * $num2;        
  8.  } 
  9.   }     
  10.  $a = 88;            
  11.  $b = 100;           
  12.  echo "两数之和为: ";         
  13.  echo "<br>";           
  14.  echo Math::sum($a,$b);        
  15.  echo "<P>";           
  16.  $a = 66;            
  17.  $b = 88;            
  18.  echo "两数之积为: ";         
  19.  echo "<br>";           
  20.  echo Math::product($a,$b);        
  21. ?> 

$this关键字

为了解决php类和对象中变量与属性的命名冲突和不确定性问题,引入了”$this”关键字来调用当前的对象.

在类中调用当前对象的属性和方法,必须使用”$this->”关键字;$this在构造函数中指该构造函数所创建的新对象;方法内的局部变量不属于对象,不使用$this关键字取值.

使用$this关键字,我们可以在类中调用对象属性或者方法.

1、调用变量

实例代码如下:

  1. <?php  
  2.  class user{ 
  3.   private $n
  4.   function __construct(){ 
  5.    $name="Mike"
  6.    echo $this->n=$name
  7.   } 
  8.  } 
  9.  $p=new user(); 
  10. ?> 

2、调用方法

实例代码如下:

  1. <?php  
  2.  class cal{ 
  3.   public function sum($a,$b){ 
  4.    return $a+$b
  5.   } 
  6.   public function prt($a,$c){ 
  7.    return $a*$c
  8.   } 
  9.   public function result($a,$b,$c){ 
  10.    $a=$this->sum($a,$b); 
  11.    return $this->prt($a,$c); 
  12.   } 
  13.  } 
  14.  $c=new cal(); 
  15.  echo "(2+3)*10= " .$c->result('2','3','10'); 
  16. ?> 
波比源码 – 精品源码模版分享 | www.bobi11.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!

波比源码 » php中final static $this关键字学习笔记

发表评论

Hi, 如果你对这款模板有疑问,可以跟我联系哦!

联系站长
赞助VIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡