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;
相关文章
|
1月前
|
Java 程序员 PHP
PHP对象和类
PHP对象和类
21 0
|
5月前
|
PHP 开发者
百度搜索:蓝易云【PHP trait的使用方法】
通过以上方法,我们可以充分利用PHP trait来实现代码复用和组合,提高代码的灵活性和可维护性。
85 3
|
4月前
|
PHP
PHP public、protected、private、static、abstract、final、interface、implements 区别对比
PHP public、protected、private、static、abstract、final、interface、implements 区别对比
29 0
|
1月前
|
Java API PHP
多多关键字API php java Python
多多关键字API接口广泛应用于商家进行市场分析、竞品分析、关键词优化等场景。商家可以通过分析关键词数据,了解用户需求,制定针对性的营销策略,提高产品的曝光率和转化率。
|
4月前
|
PHP 调度
PHP CGI、FastCGI、PHP-FPM、PHP-CGI 区别
PHP CGI、FastCGI、PHP-FPM、PHP-CGI 区别
28 5
|
4月前
|
PHP
php中elseif 和else if的区别
@(黑线)以前貌似看到if这里,就直接跳了,可是今天再读文档,又发现了点东西... @(乖)可能你已经知道了php存在elseif 和else if,保留了c的风格。
24 0
|
8月前
|
XML 移动开发 Shell
CTF中常用的php原生类总结
CTF中常用的php原生类总结
121 0