当前位置: 首页 > wzjs >正文

wordpress用户关注青岛seo经理

wordpress用户关注,青岛seo经理,哪个app可以免费下载ppt模板,哪个搜索引擎最好extends 一个类可以在声明中用extends关键字继承另一个类的方法和属性。PHP不支持多重继承,一个类只能继承一个基类。 被继承的方法和属性可以通过同样的名字重新声明被覆盖,但是如果父类定义或者常量时是使用类final,则不可被覆盖&#xff…
extends

一个类可以在声明中用extends关键字继承另一个类的方法和属性。PHP不支持多重继承,一个类只能继承一个基类。

被继承的方法和属性可以通过同样的名字重新声明被覆盖,但是如果父类定义或者常量时是使用类final,则不可被覆盖,可以通过parent::来访问被覆盖的方法或属性。从PHP 8.1起,常量可以声明为final。

final关键字:

final可用于类或方法:

  • final类不能被继承
  • final方法不能被子类重写
final class FinalClass { // 这个类不能被继承final public function finalMethod() { // 这个方法不能被子类重写// ...}
}
签名兼容性规则

当覆盖方法是,签名必须兼容父类方法。否则会导致Fatal错误,PHP 8.0 前是 E_WARNING级错误。兼容签名是指:遵守协变与逆变规则;强制参数可改为可选参数;添加的新参数只能是可选参数;放宽可见性而不是继续限制。这就是里氏替换原则(LiskovSubstitution Principle)简称LSP。不过构造方法和私有(private)方法不需要遵循签名兼容原则,就算签名不匹配也不会造成Fatal错误。

子类与父类不兼容的例子:通过移除参数、修改可选参数为必填参数。

::class

关键词class也可用于类名的解析。使用ClassName::class可获取类ClassName的完全限定名称。这对使用命名空间的类尤其有用。

自PHP 8.0起,::class 也可用于对象。此时解析将会在运行时进行。此操作的运行结果和在对象上调用get_class()相同。

Nullsafe方法和属性

自PHP8.0起,类属性和方法可通过“nullsafe”操作符访问:?-> 。 除了一处不同,nullsafe操作符和以上原来的属性、方法访问是一致的:对象引用解析为null是不抛出异常,而是返回null。如果链式调用中的一部分,剩余链条会直接跳过。

属性

类的变量成员叫做属性,或者叫字段。属性开头至少用一个修饰符,除了readonly 属性之外都是可选的,然后自PHP 7.4起可以跟一个类型声明,然后跟一个普通的变量声明来组成。属性中的变量可以初始化,但初始化的值必须是常量值。

在类的成员方法里,可以用-> (对象运算符):$this->property (其中property是该属性名)这种方式来访问非静态属性。静态属性则是用::(双冒号)self::$property 来访问。更多静态属性与非静态属性的区别参见静态static 关键字。

当一个方法在类定义内部被调用时,有一个可用的伪变量$this 。 $this是一个指向当前对象的引用。(通常是该方法所从属的对象,但如果是另一个对象静态调用,也可能是另一个)

类型声明

从PHP 7.4起,属性定义可以包含类型声明,但callable除外

类型属性必须在访问前初始化,否则会抛出Error

只读属性

自PHP 8.1起,可用readonly修饰符声明属性,防止初始化后修改属性。在PHP8.4前,readonly属性是隐式的私有设置,只能从同一类写入。从PHP 8.4 开始 , readonly属性是隐式的protected(set) , 因此可从子类设置,若需要,可以显式覆盖。

只读属性只能初始化一次,并且只能从声明它的作用域内初始化。对属性的任何赋值和修改都会导致Error异常。

除了修改,以下操作也会导致Error异常:

只读属性不会妨碍内部可变性。存储在只读属性中的对象(或资源)仍然可以在内部修改:

自PHP 8.3起,使用_clone()方法克隆对象时可以重新初始化readonly属性

动态属性

如果尝试在object上赋值不存在的属性,PHP将会自动创建相应的属性。动态创建的属性将仅能此类实例上使用。

由于PHP 8.2+不推荐动态属性,可以使用:

class Flexible {private array $data = [];public function __set(string $name, mixed $value): void {$this->data[$name] = $value;}public function __get(string $name): mixed {return $this->data[$name] ?? null;}
}

参考资料

PHP手册


文章转载自:

http://UMqR4tIi.hmnhp.cn
http://i4Du0ML4.hmnhp.cn
http://Vqo97tZS.hmnhp.cn
http://5vrvCVaH.hmnhp.cn
http://j6fJBcRz.hmnhp.cn
http://zTpl4nt9.hmnhp.cn
http://gZF6IbFc.hmnhp.cn
http://unn92iq5.hmnhp.cn
http://vKnwaF0Y.hmnhp.cn
http://kdabSAH7.hmnhp.cn
http://Hsg8nIDp.hmnhp.cn
http://p239qSQu.hmnhp.cn
http://Nu4n51Wc.hmnhp.cn
http://k67qr9qz.hmnhp.cn
http://ZIdrt60x.hmnhp.cn
http://K8qZPJ5N.hmnhp.cn
http://bFoH8yVn.hmnhp.cn
http://QUwFF3TP.hmnhp.cn
http://D6fiiYnV.hmnhp.cn
http://343lmRhh.hmnhp.cn
http://REMdPnr2.hmnhp.cn
http://cUu0xQdv.hmnhp.cn
http://L4x3cUDP.hmnhp.cn
http://GVQ07BlB.hmnhp.cn
http://Qg1paYFH.hmnhp.cn
http://AODIoU8J.hmnhp.cn
http://mI4TnSHs.hmnhp.cn
http://eJRndPG5.hmnhp.cn
http://G6JNYnRs.hmnhp.cn
http://HBiHfvMX.hmnhp.cn
http://www.dtcms.com/wzjs/663754.html

相关文章:

  • 适合在线做笔试的网站wordpress文章分类导航
  • 做网站彩票代理多少钱啊大学it网页制作教程
  • 如何将网站部署到服务器彩视网站建设策划
  • 郑州网站建设yipinpai内部建设网站需要什么条件
  • 搜索动图素材的网站哪些网站做魔兽地图
  • 网站的优化安吉网站设计
  • 门户网站用什么源码3秒钟自动跳转网页
  • 生成图片的网站手机移动端
  • 设计公司品牌网站青岛关键词快速排名
  • 做网站最好的公司有哪些网站建设方案规划书
  • 今天的新闻摘抄企业网站优化服务主要围绕哪些要素
  • 网站建设中的问题东莞电子商务网站建设
  • 龙岗区住房和建设局在线网站施工企业自营率怎么算
  • 企业网站制作心得手机端竞价恶意点击能防止吗
  • 大连网站建设找哪家龙岗公司的网站制作
  • 个人网站可以做社交类型凡客登陆
  • 可信网站服务博客导入wordpress
  • 网站建设合优天津网页模板建站
  • 怎么把网站源码扒下来百度免费域名
  • 地情网站建设总结群晖wordpress二级目录
  • 动力网站建设c2c电子商务网站建设栏目结构图
  • 深圳企业网站建设设计制作方案做一个网站开发项目有哪些阶段
  • 网站开发软硬件环境是指什么商城源码免费
  • 在哪能学到网站建设如何创建网站教程视频
  • 网站开发价格预算东莞飞天网站设计公司
  • 东铁匠营网站建设wordpress全屏博客
  • 中国建设银行陕西分行官方网站网站程可以自己做吗
  • 上海网站开发caiyiduo您与此网站之间建立的连接不安全
  • 简要说明网站制作的基本步骤中国苏州网
  • 上海建设网站制作wordpress 主题域名授权