In php, the final static $this keyword is mainly used in classes or objects. Now I will record my notes on learning final static $this. Friends who need to know more can refer to it.
final keyword
php final keyword is used in front of a function or class name to indicate that the function cannot be overridden or the class cannot be inherited.
1. The final method cannot be overridden.
If you do not want a method in the class to be overridden by subclasses, you only need to add the keyword final before the method, that is, set the final method.
Example:
The code is as follows |
Copy code |
代码如下 |
复制代码 |
class ex1{
final function fn1(){
return "php";
}
}
class ex2 extends ex1{
function fn1(){
return "html";
}
}
$p= new ex2();
echo $p->fn1();
?>
|
class ex1{
final function fn1(){
Return "php";
}
}
class ex2 extends ex1{
function fn1(){
Return "html";
}
}
$p= new ex2();
echo $p->fn1();
?>
|
Methods with the final keyword cannot be overridden and an error occurs.
2. Final classes cannot be inherited.
A class declared final cannot be inherited, otherwise an error will occur.
Example:
代码如下 |
复制代码 |
final class ex1{
private $name;
}
class ex2 extends ex1{
private $age;
}
?>
|
The code is as follows |
Copy code |
final class ex1{
private $name;
}
class ex2 extends ex1{
private $age;
}
?>
|
static keyword
The php static keyword can not only be used to declare a static variable, but can also declare static attributes or methods in a class, becoming "class attributes" or "class methods".
1. After declaring static attributes and methods, you cannot use the $this keyword to reference them in the class. You can use the following two methods to reference them:
In class: self::static member name
Outside the class: class name::static member name
2. When accessing this class, you do not need to instantiate it. You can directly use the format of class name::static member name.
代码如下 |
复制代码 |
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();
?>
|
Static property instance:
The code is as follows |
Copy code |
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; /* Call static variables */
self::$count--;
}
}
public function getCount(){
return self::$sum;
}
}
$user1 = new user();
echo $user1->getCount();
?>
|
Static method instance:
The code is as follows
代码如下 |
复制代码 |
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);
?>
|
|
Copy code
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 "The sum of the two numbers is: ";
echo " ";
echo Math::sum($a,$b);
echo "";
$a = 66;
$b = 88;
echo "The product of two numbers is: "; "
代码如下 |
复制代码 |
class user{
private $n;
function __construct(){
$name="Mike";
echo $this->n=$name;
}
}
$p=new user();
?>
|
echo " ";
echo Math::product($a,$b);
?>
代码如下 |
复制代码 |
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');
?>
|
|
$this keyword
|
In order to solve the naming conflict and uncertainty problem of variables and attributes in PHP classes and objects, the "$this" keyword is introduced to call the current object.
When calling the properties and methods of the current object in a class, you must use the "$this->" keyword;
$this in the constructor refers to the new object created by the constructor;
The local variables within the method do not belong to the object, and the $this keyword is not used to obtain the value.
Using the $this keyword, we can call object properties or methods in the class.
1. Call variables
Example:
The code is as follows
|
Copy code
|
class user{<🎜>
private $n;<🎜>
function __construct(){<🎜>
$name="Mike";<🎜>
echo $this->n=$name;
}
}
$p=new user();
?>
2. Call method
Example:
The code is as follows
|
Copy code
|
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.htmlTechArticleThe final static $this keyword in php is mainly used in classes or objects. Let me explain Learn about final static $this and record it. Friends who need to know more can refer to it. fin...
|
|