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

WBOY
发布: 2016-07-13 17:15:40
原创
837 人浏览过

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

final关键字

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

1、final方法不能被重写。

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

实例:

 代码如下 复制代码

 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的类不能被继承,否则出错。

实例:

 代码如下 复制代码

 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   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 "
";          
 echo Math::sum($a,$b);       
 echo "

";          
 $a = 66;           
 $b = 88;           
 echo "两数之积为: ";        
 echo "
";          
 echo Math::product($a,$b);       
?>

$this关键字

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

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

1、调用变量

实例:

 代码如下 复制代码

 class user{
  private $n;
  function __construct(){
   $name="Mike";
   echo $this->n=$name;
  }
 }
 $p=new user();
?>


2、调用方法

实例:

 代码如下 复制代码

 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');
?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/628824.htmlTechArticle在php中final static $this关键字主要是用在类中或对象中,下面我来把我学习final static $this笔记记录下来,有需要了解的朋友可参考参考。 fin...
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!