php中的抽象类是指:在class前加了abstract关键字且存在抽象方法的类,它不能被直接实例化;静态方法是指:被static关键字修饰的方法,静态方法用于操作静态属性。
抽象类
抽象类是指在 class 前加了 abstract 关键字且存在抽象方法(在类方法 function 关键字前加了 abstract 关键字)的类。
(推荐教程:php视频教程)
抽象类不能被直接实例化。抽象类中只定义(或部分实现)子类需要的方法。子类可以通过继承抽象类并通过实现抽象类中的所有抽象方法,使抽象类具体化。
如果子类需要实例化,前提是它实现了抽象类中的所有抽象方法。如果子类没有全部实现抽象类中的所有抽象方法,那么该子类也是一个抽象类,必须在 class 前面加上 abstract 关键字,并且不能被实例化。
举例说明:
abstract Class AbstractClass { abstract public function A();//这里不要携带body abstract protected function B();//这里不要携带body public function C(){}//这里要携带body } class ClassA extends AbstractClass { public function A(){ echo "Hello,I'm A <br/>"; } protected function B(){ echo "Hello,I'm B <br/>"; } public function E() { echo "Hello,I'm E <br/>"; } }
静态方法:
静态方法被static关键字修饰。
静态方法用于操作静态属性。所以,静态方法里面不能操作非静态属性。
由于静态方法不需要通过对象即可调用,所以伪变量$this在静态方法中不可用。
如何访问静态方法呢?
在类内部:类名::静态方法 或者 self::静态方法
在类外部:类名::静态方法 或者 对象实例->静态方法
举例说明:
class Person{ public static $nums = 0; // 静态属性的申明 public $age = 0; public function addNum(){ self::$nums++; echo self::$nums; // 在类里面,可用self关键词访问静态属性 echo Person::$nums; // 类可直接访问静态属性 // echo $this->nums; // 报错,静态属性不可以由对象通过 -> 操作符来访问 self::getNum(); // 在类里面,可用self关键词访问静态方法 Person::getNum(); // 类可直接访问静态方法 } public static function getNum(){ // 静态方法 // echo $this->age; // 报错,静态方法里面不能操作非静态属性 echo '真的吗?'.self::$nums; //静态方法中只能操作静态属性 } } $p1 = new Person(); $p1->addNum(); echo $p1::$nums; // 对象实例可以这样访问静态属性 Person::getNum(); // 类可直接访问静态方法 $p1->getNum(); // 对象实例可以这样访问静态方法
相关推荐:php培训
以上是php中的抽象类和静态方法是什么的详细内容。更多信息请关注PHP中文网其他相关文章!

本文比较了酸和基本数据库模型,详细介绍了它们的特征和适当的用例。酸优先确定数据完整性和一致性,适合财务和电子商务应用程序,而基础则侧重于可用性和

本文讨论了确保PHP文件上传的确保,以防止诸如代码注入之类的漏洞。它专注于文件类型验证,安全存储和错误处理以增强应用程序安全性。

本文讨论了在PHP中实施API速率限制的策略,包括诸如令牌桶和漏水桶等算法,以及使用Symfony/Rate-limimiter之类的库。它还涵盖监视,动态调整速率限制和手

本文讨论了使用password_hash和pyspasswify在PHP中使用密码的好处。主要论点是,这些功能通过自动盐,强大的哈希算法和SECH来增强密码保护

本文讨论了OWASP在PHP和缓解策略中的十大漏洞。关键问题包括注射,验证损坏和XSS,并提供用于监视和保护PHP应用程序的推荐工具。


热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

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

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。