| 
       在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'); 
 
	- ?> 
 
	 
 
      
      (责任编辑:admin) |