php中final static $this关键字学习笔记
在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、访问该类时,可不必实例化,直接使用类名称::静态成员名称的格式.
静态属性实例:
实例代码如下:
<?php 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(); ?>
静态方法实例:
实例代码如下:
<?php 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'); ?>
教程地址:
欢迎转载!但请带上文章地址^^

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

在PHP开发中,当你想使用类的成员变量或者方法时,常常会遇到“PHPFatalerror:Using$thiswhennotinobjectcontext”的错误提示信息。这个错误提示是由于使用$this关键字访问类成员时出现了错误的上下文环境导致的。为了解决这个问题,下面我们将介绍一些解决方法。确保代码在类的内部进行检查代码是否在类

Java中final、finally、finalize的区别,需要具体代码示例在Java编程中,经常会遇到final、finally、finalize这三个关键词,它们虽然拼写相似,但却有不同的含义和用法。本文将详细解释这三个关键词的区别,同时给出代码示例以帮助读者更好地理解。一、final关键字final关键字可以用于类、方法和变量。它的作用是使被修饰的类

常量变量是其值固定且程序中只存在一个副本的变量。一旦你声明了一个常量变量并给它赋值,你就不能在整个程序中再次改变它的值。与其他语言不同,Java不直接支持常量。但是,你仍然可以通过声明一个变量为静态和final来创建一个常量。静态-一旦你声明了一个静态变量,它们将在编译时加载到内存中,即只有一个副本可用。Final-一旦你声明了一个final变量,就不能再修改它的值。因此,你可以通过将实例变量声明为静态和final来在Java中创建一个常量。示例 演示classData{&am

在java中,final可以用来修饰类、方法和变量。final修饰类,表示该类是无法被任何其他类继承的,意味着此类在一个继承树中是一个叶子类,并且此类的设计已被认为很完美而不需要进行修改或扩展。final修饰类中的方法,表示该类是无法被任何其他类继承的,不可以被重写;也就是把该方法锁定了,以防止继承类对其进行更改。final修饰类中的变量,表示该变量一旦被初始化便不可改变。

c语言static的作用和用法:1、变量作用域;2、生命周期;3、函数内部;4、修饰全局变量;5、修饰函数;6、其他用途;详细介绍:1、变量作用域,当一个变量前有static关键字,那么这个变量的作用域被限制在声明它的文件内,也就是说,这个变量是“文件级作用域”,这对于防止变量的“重复定义”问题很有用;2、生命周期,静态变量在程序开始执行时初始化一次,并在程序结束时销毁等等。

一、static 请先看下面这段程序:publicclassHello{publicstaticvoidmain(String[]args){//(1)System.out.println("Hello,world!");//(2)}}看过这段程序,对于大多数学过Java的从来说,都不陌生。即使没有学过Java,而学过其它的高级语言,例如C,那你也应该能看懂这段代码的意思。它只是简单的输出“Hello,world”,一点别的用处都没有,然而,它却展示了static关键字的主

C语言中static关键字的实际应用场景及使用技巧一、概述static是C语言中的一个关键字,用于修饰变量和函数。它的作用是改变其在程序运行过程中的生命周期和可见性,使得变量和函数具有静态的特性。本文将介绍static关键字的实际应用场景及使用技巧,并通过具体的代码示例进行说明。二、静态变量延长变量的生命周期使用static关键字修饰局部变量可以将其生命周期

static的作用:1、变量;2、方法;3、类;4、其他用途;5、多线程环境;6、性能优化;7、单例模式;8、常量;9、局部变量;10、内存布局优化;11、避免重复初始化;12、在函数中使用。详细介绍:1、变量,静态变量,当一个变量被声明为static时,它属于类级别,而不是实例级别,这意味着无论创建多少个对象,都只有一个静态变量存在,所有对象都共享这个静态变量等等。
