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这几个关键字使用方法

相关文章
|
11天前
|
关系型数据库 MySQL
web简易开发(二){html5+php实现文件上传及通过关键字搜索已上传图片)}
web简易开发(二){html5+php实现文件上传及通过关键字搜索已上传图片)}
|
5月前
|
PHP
PHP public、protected、private、static、abstract、final、interface、implements 区别对比
PHP public、protected、private、static、abstract、final、interface、implements 区别对比
35 0
|
2月前
|
Java API PHP
多多关键字API php java Python
多多关键字API接口广泛应用于商家进行市场分析、竞品分析、关键词优化等场景。商家可以通过分析关键词数据,了解用户需求,制定针对性的营销策略,提高产品的曝光率和转化率。
|
9月前
|
PHP
PHP - Laravel Blade模板注释 {{-- 注释 --}} 与 <!-- 注释 --> 的区别
PHP - Laravel Blade模板注释 {{-- 注释 --}} 与 <!-- 注释 --> 的区别
64 0
|
5月前
|
PHP 调度
PHP CGI、FastCGI、PHP-FPM、PHP-CGI 区别
PHP CGI、FastCGI、PHP-FPM、PHP-CGI 区别
28 5
|
5月前
|
PHP
php中elseif 和else if的区别
@(黑线)以前貌似看到if这里,就直接跳了,可是今天再读文档,又发现了点东西... @(乖)可能你已经知道了php存在elseif 和else if,保留了c的风格。
25 0
|
11月前
|
机器学习/深度学习 安全 Java
PHP, Python和Java的区别
PHP, Python和Java是广泛使用的编程语言。每种编程语言都有其独特的优点和缺点。在本文中,我们将对这些编程语言进行分析,并探讨它们在不同应用场景中的最佳用途。
101 0