...
在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');
?>
|
http://www.bkjia.com/PHPjc/628824.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/628824.htmlTechArticle在php中final static $this关键字主要是用在类中或对象中,下面我来把我学习final static $this笔记记录下来,有需要了解的朋友可参考参考。 fin...