【web 开发基础】PHP8 中类的基本操作(57)
前言
类是面向对象中最为重要的概念之一,是面向对象设计中最基本的组成模块。可以将类简单地看作一种数据结构,在类中的数据和函数称为类的成员。
类的声明
在PHP中,声明类的关键字是class,声明格式如下:
<?php
权限修饰符 class类名{
类的内容;
}
?>
其中,权限修饰符是可选项,常见的修饰符包括public、private和protected。创建类时,可以省略权限修饰符,此时默认的修饰符为public。public、private和protected的区别如下:
一般情况下,属性和方法的默认项是public,这意味着属性和方法的各个项从类的内部和外部都可以访问。
用关键字private声明的属性和方法则只能从类的内部访问,也就是只有类内部的方法才可以访问用此关键字声明的类的属性和方法。
用关键字protected声明的属性和方法也是只能从类的内部访问,但是通过“继承”而产生的“子类”也是可以访问这些属性和方法的。
例如,定义一个Student(学生)为公共类,代码如下:
<?php
public class Student
{
//类的内容:成员属性,成员方法
}
成员属性
成员属性是指在类中声明的变量。在类中可以声明多个变量,所以对象中可以存在多个成员属性,每个变量将存储不同的对象属性信息,例如:
<?php
public class Student
{
public $name;//类的成员属性
}
其中,成员属性必须使用关键词进行修饰,常见的关键词包括public、protected和private。如果没有特定的意义,仍然需要用var关键词修饰。另外,在声明成员属性时可以不进行赋值操作。
成员方法
成员方法是指在类中声明的函数。在类中可以声明多个函数,所以对象中可以存在多个成员方法。类的成员方法可以通过关键字进行修饰,从而控制成员方法的使用权限。
以下是定义成员方法的例子:
<?php
public class Student
{
public $name;//类的成员属性
function getName(){
//...
}
}
类的实例化
面向对象编程的思想是一切皆为对象。类是对一个事物抽象出来的结果,因此,类是抽象的。对象是某类事物中具体的那个,因此,对象就是具体的。例如,学生就是一个抽象概念,即学生类,但是姓名叫张三的学生就是学生类中一个具体的学生,即对象。
类和对象的关系可以描述为:类用来描述具有相同数据结构和特征的“一组对象”,“类”是“对象”的抽象,而“对象”是“类”的具体实例,即一个类中的对象具有相同的“型”,但其中每个对象却具有各不相同的“值”。
注:类是具有相同或相仿结构、操作和约束规则的对象组成的集合,而对象是某一类的具体化实例,每一个类都是具有某些共同性的对象的抽象。
类的实例化语法格式如下:
$变量名=new类名称([参数]); //类的实例化
其中,new为创建对象的关键字,$变量名返回对象的名称,用于引用类中的方法。参数是可选的,如果存在参数,就用于指定类的构造方法或用于初始化对象的值;如果没有定义构造函数参数,PHP就会自动创建一个不带参数的默认构造函数。如下面的代码:
<?php
public class Student
{
public $name;//类的成员属性
function getName(){
//...
}
}
$zhangsan = new Student(); //类的实例化 默认有一个空参的构造方法
$lisi = new Student(); //类的实例化 默认有一个空参的构造方法
$wangwu = new Student(); //类的实例化 默认有一个空参的构造方法
$zhaoliu = new Student(); //类的实例化 默认有一个空参的构造方法
上面的例子实例化了4个对象,并且这4个对象之间没有任何联系,只能说明它们源于同一个类。可见,一个类可以实例化多个对象,每个对象都是独立存在的。
- 点赞
- 收藏
- 关注作者
评论(0)