php:类中的static、final、const、parent、self、$this关键字使用方法和区别-阿里云开发者社区

开发者社区> 程序猿v> 正文

php:类中的static、final、const、parent、self、$this关键字使用方法和区别

简介: php:类中的static、final、const、parent、self、$this关键字使用方法和区别
+关注继续查看

定义

  • static: 定义类属性和类方法(静态属性和静态方法)
  • final: 定义不可被子类继承的类和方法
  • const:定义类常量

访问

  • parent:类内访问父类属性和父类方法
  • self: 类内访问类属性和类方法
  • $this: 类内访问实例属性和实例方法


示例

<?php

// 父类
class Base{
  // 实例属性
  private $age;

  public function __construct($age) {
    $this->age = $age;
  }

  // 不可以被子类继承该方法
  public final function getAge()
  {
    return $this->age;
  }
}

// 子类
class Demo extends Base{
  // 实例属性
  private $name;

  // 类属性
  public static $count;

  // 类常量,注意没有$
  public const TYPE = 1;

  public function __construct($age, $name) {
    // 调用父类构造方法
    parent::__construct($age);
    $this->name = $name;
  }

  // 类方法
  public static function getCount()
  {
    // 访问类属性
    return self::$count;
  }

  // 类方法
  public static function getType()
  {
    // 访问类常量
    return self::TYPE;
  }

  // 实例方法
  public function getName()
  {
    self::$count+=1;
    return $this->name;
  }
}

$demo = new Demo(12, 'Tom');

echo $demo->getAge() . PHP_EOL;
echo  $demo->getName() . PHP_EOL;

echo Demo::getCount() . PHP_EOL;
echo Demo::getType() . PHP_EOL;


参考

php类中的$this,static,final,const,self这几个关键字使用方法

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
C# defualt关键字默认值用法
原文:C# defualt关键字默认值用法 默认值表达式生成类型的默认值。 默认值表达式在泛型类和泛型方法中非常有用。 使用泛型类和泛型方法时出现的一个问题是,如何在无法提前知道以下内容的情况下将默认值赋值给参数化类型 T: T 是引用类型还是值类型。
760 0
Java中this和super的用法总结
this this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。 this的用法在java中大体可以分为3种: 1.普通的直接引用 这种就不用讲了,this相当于是指向当前对象本身。
856 0
ArcGIS使用Python脚本工具
在Pyhton写的一些代码,用户交互不方便,用户体验比较差,不方便重用。在ArcGIS中可以将用写的Python代码导入到ToolBox中,这样用起来就比较方便了。这里用按要素裁剪栅格的Python来演示如何导入ArcGIS中。
1144 0
VB编程:Me关键字的使用&VB常用颜色代码
VB编程:Me关键字的使用&VB常用颜色代码
10 0
Navigator和导航栏之间的区别以及用法场景的分析
区别:    1.navigator是属于小程序组件中的,导航栏是属于小程序API中的    2.navigator组件是用在axml页面中跳转的导航,它有4种类型(见下表);导航栏API是用在js中实现页面跳转的    3.
475 0
+关注
1569
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载