本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑
php类的定义方法
在 PHP 中,可以使用 class
关键字加类名的方式定义一个类,然后用大括号{}
将在类体中定义类的属性和方法包裹起来,类的语法格式如下:
[修饰类的关键字] class 类名{
类的属性和方法;
}
类名和变量名还有函数名的命名规则相似,都需要遵循 PHP 中的自定义命名规则,可以是任何非 PHP 保留字的合法标签。一个合法类名以字母或下划线开头,后面跟着若干字母,数字或下划线。如果类名由多个单词组成,习惯上将每个单词的首字母大写。另外,类名最好具有一定的意义,不要随便由几个字母组成。
修饰类的关键字是一个可选参数,可以省略。我们通常使用下面这些关键字来修饰类:
abstract
:抽象类或方法,被修饰为抽象类之后,类将不能被实例化,但可以被继承。如果类中有至少一个方法被声明为抽象的,那么这个类也必须声明为抽象的。继承一个抽象类的时候,子类必须重新定义父类中的所有抽象方法,而且这些方法的访问控制必须和父类中一样。final
:使用 final 修饰的类不能被继承,而使用 final 修饰的方法不能在子类中重新定义。
注意:一个类可以包含有属于自己的常量、变量(在类中称为“成员属性”或者“属性”)以及函数(在类中称为“成员方法”或者“方法”)。
示例:
定义一个空类
Class Person{};
定义一个有成员属性和操作的类
Class Person{
成员属性........
操 作........
}
定义一个不能被继承的类,使用final关键字
Final class Person{
成员属性........
操 作........
}
注意:final关键字不能用来修饰成员属性 ,只能修饰类和方法(final方法后面介绍)
这里举一个带有final的class
定义一个final的类FinalClass,包含一个公共函数
final class FinalClass {
public function ffun() {
echo “本类为final类”;
}
}
定义一个类ChildFinalClass 并继承FinalClass 类
class ChildFinalClass extends FinalClass {
public function fchildfun() {
echo ‘本类继承final类FinalClass ’;
}
}
这样当执行以上命令的时候系统会提示
Fatal error: Class ChildFinalClass may not inherit from final class (FinalClass)
证明由final关键字定义的class是不可以被子类继承的