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

企业资质查询官方网站电商网站报价

企业资质查询官方网站,电商网站报价,2014年沈阳建设银行网站,网站建设开发决策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://www.dtcms.com/wzjs/582750.html

相关文章:

  • WordPress分段插件手机优化
  • 旅游seo整站优化企业网站如何做网警备案
  • 网站备案与域名备案加强网站功能建设
  • 全网营销型网站建设模板酒店网站设计的目的和意义
  • 学做网站论坛vip学员码网站设计 卡片式设计
  • 学生个人博客网站模板中国宁波网手机首页
  • 台州企业网站制作公司织梦网站建设选项卡教程
  • 房地产网站 模板wordpress顶部菜单怎么删
  • 个人网站 jsp 域名空间ppt公司简介模板
  • iis 网站名c 做网站开发
  • 吉林房地产网站开发个人电影网站备案
  • 云一网站公司wordpress后台打开超级慢
  • 网站开发公司模板拟定一个物流网站建设方案
  • 个人网站搭建wordpress广东建设信息网手机版
  • 临海响应式网站设计重庆seo入门教程
  • wordpress禁止响应重庆网站建设及优化
  • 湘潭知名网站建设河南网站建设企业
  • 建设工程安全监督备案网站静安西安网站建设
  • 运营商做网站网站维护费
  • 商城app开发多少钱一键优化ppt
  • 东莞模板建站软件seo关键词选取工具
  • 深圳平湖网站建设公司天津百度快照优化公司
  • 九江市建设局网站海兴网站建设价格
  • 网站建设虚拟空间苏州网站建设企业网站制作
  • 旅游网站模板html5seo技术专员招聘
  • 建站的流程是什么需要什么步骤如何重新编辑wordpress
  • 鼓楼做网站价格软件工程软件开发
  • 静安建设机械网站网站推广服务网址
  • 做网站有哪些注意事项如何查询网站的空间商
  • 免费动态图片素材网站专业的网站建设平台