Php编程语言支持大多数面向对象的编程概念。面向对象编程为管理大型和企业应用程序提供了许多有用的特性。
面向对象程序设计
面向对象编程(OOP)是一个概念,它提供不同的特性来实现现实世界的问题。到目前为止,我们已经使用变量来编写Php应用程序,但正如您所知,企业应用程序不能使用这些简单类型。
例如,我们可能需要在我们的应用程序中定义一个学生。学生在现实生活中会有什么样的属性或行为。这里是一个示例列表;
- 姓名
- 姓
- 年龄
- 等级
- 父母
- …
- 选择类
- 完成学业
- 添加未命中 天
- …
我们可以恢复名单,但这些已经足够了。仅使用字符串、整数等原始数据类型,我们无法处理所有这些问题。假设我们学校有1000名学生。我们应该为每个学生的名字创建单独的变量吗?不,解决方案是面向对象编程和类
定义类
类用于指定复合类型。我们可以在一个类中使用不同类型的变量和方法。类使它们易于访问和使用。类可以用于其他类定义,这使得复杂类继承变得简单。我们可以用 class
关键字和花括号 {}
这就是班子的主体。这里是语法
class NAME {BODY}
在本例中,我们将创建一个名为 Student
有一些性质和方法。
class Student{ public $name=""; public function SayName(){ echo $this->name; }}
只需关注类定义及其主体的外观。我们将在接下来的步骤中学习属性和方法。
创建对象
我们在前面的步骤中定义了一个类,但是如何使用这个类呢。类不能直接使用。因为类只定义结构,在大多数情况下不保存数据。我们应该通过用 new
关键字。对象根据其类定义保存给定的数据。
相关文章: 什么是远程过程调用(RPC)?
在本例中,我们将使用 Student
类来创建名为 john
. john
将表示 Student
班级。
class Student{ public $name=""; public function SayName(){ echo $this->name; }}$john = new Student;
类属性
属性用于存储 一些数据。属性的另一个用法是直接从对象访问数据。属性类型是基本类型,如整数、字符串、浮点、布尔等。
在本例中,我们将添加 Student
类的姓氏、编号和年龄属性。
class Student{ public $name=""; public $surname=""; public $number=""; public $age=-1; public function SayName(){ echo $this->name; }}
访问类内的类属性
我们通常需要访问类内部的类属性。我们可以用 $this
关键字以便访问。我们还将使用 ->
作为分隔符 $this
和属性名称。在名为 SayName
我们曾经 $this->
访问 name
类的属性。
class Student{ public $name=""; public $surname=""; public $number=""; public $age=-1; public function SayName(){ echo $this->name; }}
访问类属性
我们可以使用对象和属性名访问类属性。我们将使用 ->
地址 属性名称。
在本例中,我们将访问 $name
和 $surname
的属性 $john
对象。
class Student{ public $name=""; public $surname=""; public $number=""; public $age=-1; public function SayName(){ echo $this->name; }}$john = new Student();echo $john->name." "$john->surname;
等级 方法
类和对象的一个强大特性是方法。我们可以在类中定义方法并通过对象调用它们。我们也可以在这些方法中轻松地访问对象属性。
在本例中,我们将创建一个名为 PrintStudent()
打印姓名和姓氏 学生信息;
class Student{ public $name=""; public $surname=""; public $number=""; public $age=-1; public function SayName(){ echo $this->name; } public function PrintStudent(){ echo $this->name; echo $this->surname; }}$john = new Student();$john->PrintStudent();