文章目录
前言一、类的基本概念二、类的伪变量三、创建类的实例四、类的继承总结
前言
本文就介绍了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。类的继承,覆盖重写等。