PHP类的概念定义及使用方法

作者: admin 分类: php基础入门 发布时间: 2025-03-02 22:40

前言

本文就介绍了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。
  • 类的继承,覆盖重写等。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

标签云