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

相关文章
|
2月前
|
设计模式 安全 PHP
PHP 5与PHP 7的主要区别分析
综上所述,PHP 7相比于PHP 5,不仅在性能上有显著提升,还增加了许多新特性和改进,使得PHP语言更加强大和现代化。同时,弃用了一些过时的特性和函数,更加注重代码的健壯性和安全性。然而,这些改变也意味着从PHP 5迁移到PHP 7可能需要一些代码的调整和优化。
138 10
|
3月前
|
API PHP 开发者
别再混淆 PHP8.1 中纤程 Fibers 和协程 Coroutines 了 一文搞懂它们的区别
协程是可暂停的函数,PHP通过yield实现;Fibers是PHP 8.1+的轻量执行单元,可手动控制执行流程。协程适用于异步I/O,Fibers更灵活,为异步框架提供底层支持,让PHP能写出同步风格的异步代码,提升并发性能。(239字)
529 5
|
9月前
|
存储 PHP
PHP中如何定义常量以及常量和变量的主要区别
常量和变量在PHP中扮演着不同的角色,各有各的应用场景。常量用于存储不会改变的值,具有全局作用域,定义后在整个脚本中都可以访问。变量则用于存储在程序执行过程中可能改变的值,作用域可以是局部的或全局的。掌握常量和变量的定义和区别,有助于编写出更加清晰、可维护的代码。希望本文能帮助你更好地理解和使用PHP中的常量和变量。
204 20
|
关系型数据库 MySQL
web简易开发(二){html5+php实现文件上传及通过关键字搜索已上传图片)}
web简易开发(二){html5+php实现文件上传及通过关键字搜索已上传图片)}
|
Java PHP 数据安全/隐私保护
PHP 面向对象,构造函数,析构函数,继承,方法的重写,接口抽象类,static,final,this,parent,self的异同和作用
本文详细介绍了PHP面向对象编程的一系列核心概念和用法,包括构造函数、析构函数、继承、方法重写、访问控制、接口、抽象类、静态成员、final关键字、以及this、self、parent这三个关键字的异同和作用。通过具体示例代码,展示了如何在PHP中使用这些面向对象的特性,以及它们在实际开发中的应用。
PHP 面向对象,构造函数,析构函数,继承,方法的重写,接口抽象类,static,final,this,parent,self的异同和作用
ly~
|
安全 Java 大数据
php跟java有什么区别
PHP 和 Java 是两种常用编程语言,各有特色。PHP 语法简洁灵活,适用于快速开发中小型网站,尤其在 Web 脚本和数据库交互中表现出色。Java 则语法严谨,强类型特性使其在企业级应用、移动开发及大数据处理中更受欢迎,具备高稳定性和安全性。通过优化,PHP 性能可提升,而 Java 在大规模应用中表现更佳。总体而言,PHP 开发效率高但维护性稍差,Java 则更注重代码质量和安全性。
ly~
484 5
|
SQL 关系型数据库 数据库连接
php连接数据库之PDO,PDO的简单使用和预定义占位符的使用以及PDOStatement对象的使用,占位符的不同形式,bindValue和bindParam绑定预定义占位符参数的区别
本文介绍了PHP中PDO(PHP Data Objects)扩展的基本概念和使用方法。内容包括PDO类和PDOStatement类的介绍,PDO的简单使用,预定义占位符的使用方法,以及PDOStatement对象的使用。文章还讨论了绑定预定义占位符参数的不同形式,即bindValue和bindParam的区别。通过具体示例,展示了如何使用PDO进行数据库连接、数据查询、数据插入等操作。
php连接数据库之PDO,PDO的简单使用和预定义占位符的使用以及PDOStatement对象的使用,占位符的不同形式,bindValue和bindParam绑定预定义占位符参数的区别
|
PHP
PHP public、protected、private、static、abstract、final、interface、implements 区别对比
PHP public、protected、private、static、abstract、final、interface、implements 区别对比
524 0
|
PHP
PHP &&是什么,||是什么,&&和||有什么区别?
PHP &&是什么,||是什么,&&和||有什么区别?
278 1
|
PHP
PHP中,你可以使用class关键字来定义一个类
【7月更文挑战第2天】PHP中,你可以使用class关键字来定义一个类
124 0