文章目录

前言一、类的基本概念二、类的伪变量三、创建类的实例四、类的继承总结

前言

本文就介绍了PHP类的基础内容。

提示:以下是本篇文章正文内容,下面案例可供参考

一、类的基本概念

以关键词class开头,后面跟着类名,类名后面跟着一对花括号,里面包含有类的属性、方法的定义。类名:由字母、数字、下划线组成。字母或下划线开头。一个类里包含有自己的常量,类的属性(变量),类的方法(函数)。

class ClassName{

const STAT = 'S' ; //常量

static $stat = 'Static' ; //静态属性

public $publ = 'Public' ; //公有属性

private $priv = 'Private' ; //私有属性

protected $prot = 'Protected' ; //受保护属性

public function test(){ //公有方法

return "你好";

}

}

二、类的伪变量

伪变量$this,是一个到主叫对象的引用。

class ClassName{

public $str = '你好';

public function test(){

echo $this->str;

}

}

三、创建类的实例

//创建类的实例得使用关键词new

$in = new NewClass();

//或者使用变量,动态创建

$str = 'NewClass';

$in = new $str();

//

echo (new $str())->test();

四、类的继承

一个类可以在声明中用 extends 关键字继承另一个类的方法和属性。PHP不支持多重继承,一个类只能继承一个基类。被继承的方法和属性可以通过用同样的名字重新声明被覆盖。但是如果父类定义方法时使用了 final,则该方法不可被覆盖。可以通过 parent:: 来访问被覆盖的方法或属性。当覆盖方法时,参数必须保持一致否则 PHP 将发出 E_STRICT 级别的错误信息。但构造函数例外,构造函数可在被覆盖时使用不同的参数。

class ClassB extends ClassA{ //ClassB继承了ClassA

function test(){ //重写了父类的test方法

echo "classB\n";

parent::test(); //执行父类的test方法

}

}

$extended = new ClassB(); //实例化ClassB

$extended->test(); //执行ClassB中的test方法

namespace NameSp {

class ClassName {

}

echo ClassName::class; //会输出命名空间+类名 NameSp/ClassName

}

总结

以上就是今天要讲的内容,本文仅仅简单介绍了PHP类的概念及使用。

以关键词class开头,后面跟着类名(由字母、数字、下划线组成。字母或下划线开头),类名后面跟着一对花括号,里面包含有类的常量、属性(变量)、方法(函数)的定义。类的伪变量$this。创建类的实例 new。类的继承,覆盖重写等。

2025-05-19 23:54:28