php面向对象编程self和static的区别
发布:smiling 来源: PHP粉丝网 添加日期:2021-08-01 21:45:06 浏览: 评论:0
这篇文章主要介绍了PHP中static关键字以及与self关键字的区别,本文讲解了static关键字的定义、迟绑定(Late Static Bindings)、以及与self关键字的区别等内容,需要的朋友可以参考下。
在php的面向对象编程中,总会遇到
- class test{
- public static function test(){
- self::func();
- static::func();
- }
- public static function func(){}
- }
可你知道self和static的区别么?
其实区别很简单,只需要写几个demo就能懂:
Demo for self:
- class Car
- {
- public static function model(){
- self::getModel();
- }
- protected static function getModel(){
- echo "This is a car model";
- }
- }
Car::model();
- Class Taxi extends Car
- {
- protected static function getModel(){
- echo "This is a Taxi model";
- }
- }
Taxi::model();
得到输出
This is a car model
This is a car model
可以发现,self在子类中还是会调用父类的方法
Demo for static
- class Car
- {
- public static function model(){
- static::getModel();
- }
- protected static function getModel(){
- echo "This is a car model";
- }
- }
Car::model();
- Class Taxi extends Car
- {
- protected static function getModel(){
- echo "This is a Taxi model";
- }
- }
Taxi::model();
得到输出
This is a car model
This is a Taxi model
可以看到,在调用static,子类哪怕调用的是父类的方法,但是父类方法中调用的方法还会是子类的方法(好绕嘴。。)
在PHP5.3版本以前,static和self还是有一点区别,具体是什么,毕竟都是7版本的天下了。就不去了解了。
总结呢就是:self只能引用当前类中的方法,而static关键字允许函数能够在运行时动态绑定类中的方法
Tags: self static
- 上一篇:PHP中抽象类、接口的区别与选择分析
- 下一篇:PHP面向对象多态性实现方法简单示例
相关文章
- ·php中$this、static、final、const、self的用法(2014-02-10)
- ·php中this,parent,self关键字用法(2014-07-25)
- ·php中new self()关键字的用法(2016-08-18)
- ·PHP中static关键字以及与self关键字的区别(2021-06-06)
- ·PHP后期静态绑定之self::限制实例分析(2021-11-02)
- ·php面向对象程序设计中self与static的区别分析(2021-11-22)
- ·PHP中的self关键字详解(2021-11-27)
- ·PHP面向对象程序设计中的self、static、parent关键字用法分析(2021-12-11)
- ·PHP面向对象之旅:static变量与方法(2014-01-17)
- ·php面向对象 static、 const、final关键字的使用(2014-03-28)
- ·php final static const成员属性用法(2014-05-21)
- ·php static 变量的例子(2014-06-04)
- ·PHP static静态局部变量和静态全局变量总结(2014-06-14)
- ·php中接口、抽象类、Final、Static例子(2016-07-27)
- ·php中static 静态变量和普通变量的区别(2016-08-18)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)