首页 > 后端开发 > PHP问题 > php类的定义与实例化方法是什么

php类的定义与实例化方法是什么

青灯夜游
发布: 2023-03-13 21:50:01
原创
2267 人浏览过

在php中,可以使用class关键字加类名的方式来定义一个类,语法“[修饰类的关键字] class 类名{类的属性和方法;}”;可以使用new关键字来将类实例化成对象,语法“变量名 = new 类名(参数数列表)”。

php类的定义与实例化方法是什么

本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑

php类的定义

在 PHP 中,可以使用 class 关键字加类名的方式定义一个类,然后用大括号{ }将在类体中定义类的属性和方法包裹起来,类的语法格式如下:

[修饰类的关键字] class 类名{
    类的属性和方法;
}
登录后复制

类名和变量名还有函数名的命名规则相似,都需要遵循 PHP 中的自定义命名规则,可以是任何非 PHP 保留字的合法标签。一个合法类名以字母或下划线开头,后面跟着若干字母,数字或下划线。如果类名由多个单词组成,习惯上将每个单词的首字母大写。另外,类名最好具有一定的意义,不要随便由几个字母组成。

修饰类的关键字是一个可选参数,可以省略。我们通常使用下面这些关键字来修饰类:

  • abstract:抽象类或方法,被修饰为抽象类之后,类将不能被实例化,但可以被继承。如果类中有至少一个方法被声明为抽象的,那么这个类也必须声明为抽象的。继承一个抽象类的时候,子类必须重新定义父类中的所有抽象方法,而且这些方法的访问控制必须和父类中一样。

  • final:使用 final 修饰的类不能被继承,而使用 final 修饰的方法不能在子类中重新定义。

注意:一个类可以包含有属于自己的常量、变量(在类中称为“成员属性”或者“属性”)以及函数(在类中称为“成员方法”或者“方法”)。

举个例子:

定义一个汽车类,属性有车的颜色和价格

class car{

  public $color;     //定义属性

  public $price;

}
登录后复制

php类的实例化

类的实例化又叫创建一个对象或者实例化一个对象或者把类实例化。

将类实例化成对象非常容易,只需要使用new关键字并在后面加上一个和类名同名的方法即可。当然如果在实例化对象时不需要为对象传递参数,在new关键字后面直接用类名称即可,不需要再加上括号。

对象的实例化格式如下:

变量名 = new 类名(参数数列表);
或
变量名 = new 类名();
登录后复制

参数说明如下:

  • 变量名:通过类所创建的一个对象的引用名称,可以通过这个名称来访问对象的成员;

  • new:关键字,表明要创建一个新的对象;

  • 类名:表示新对象的类型;

  • 参数列表:指定类的构造方法用于初始化对象的值,如果类中没存定义构造函数,PHP 会自动创建一个不带参数的默认构造函数。(后面我们会详细介绍)。

简单的来举个例子:

我们定义一个人的类,并把这个类实例化。

class Preson {                                  //定义了一个Preson类

public $name;                            //定义类的属性(姓名,性别,年龄等等)

public $age;

public $gender;

// public .....

}

//new翻译是新的,意思就是创建一个新的人,并把这个新的对象赋值给$Preson1,这个就是实例化

$Preson1 = new Preson();                 //实例化类

$Preson1->name = "张三";

$Preson1->age = 22;

$Preson1->gender = "女";

echo  $Preson1->name.'  '.$Preson1->age.'  '.$Preson1->gender;

//如果想输出第二个实例,直接输出就OK了,只要改一个变量名

$Preson2 = new Preson();                    //实例化类

$Preson2->name = "小亮";

$Preson2->age = 25;

$Preson2->gender = "男";
登录后复制

推荐学习:《PHP视频教程

以上是php类的定义与实例化方法是什么的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
php
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板