我们已经准备好了,你呢?

2024我们与您携手共赢,为您的企业形象保驾护航!

本文主要对PHP面向对象编程进行介绍,并分析了PHP面向对象编程的基本概念和原理,以及类定义、对象实例化、构造方法等简单的使用技巧,需要的朋友可以参考一下。

本文通过实例讲述了PHP面向对象编程,分享给大家,供大家参考,如下:

1. 面向对象与面向过程

面向过程:以事件为中心,分几步完成。不可扩展,HTML和PHP没有分离

面向对象:你是指挥官,你指挥别人做事。可扩展,HTML 和 PHP 代码分离。

2.什么是对象?

对象:自然界中存在的任何可见的东西(这个不太准确),[在代码中表示为]执行代码的效果

3.什么是面向对象?

OOP(面向对象编程)是-的缩写,具有灵活性和可维护性,可以为程序员打开一扇大门

软件工程的三个目标:1.可重用性 2.灵活性 3.可扩展性

面向对象编程的特点: ①封装 ②继承 ③多态

4.什么是类?

具有属性和方法的对象的抽象描述

5. 类定义

定义角度:

静态描述:我们熟悉的变量

动态描述(对象函数):将动态描述写成函数。对象中声明的函数称为方法。

所有的类都是从属性和方法两个方面进行声明的。属性和方法是类的成员。属性又称为对象的成员属性,方法又称为对象的成员方法。

成员属性:直接在类中声明的变量。您可以使用 PHP 的标量类型和复合类型,因此它们也可以是从其他类实例化的对象。在类中使用资源和空类型是没有意义的。

成员属性的初始值一般是不赋值的,大多数情况下都是在对象实例化之后,才给对应的成员属性赋初始值。

成员方法:在对象中声明的函数称为方法。

前面所说的成员属性和成员方法,与过程中声明的变量、函数相同,只是多了关键字。

class Classname{
  //成员属性
  public $name;
  public $age;
  //成员方法
  public function __construct($name,$age){
    //方法体
    $this->name=$name;
    $this->age=$age;
  }
  public function method(){
    //方法体
    //return 返回值
} 

6.类和对象的关系

类的一个实例就是一个对象。

//实例化
$mod = new Classname();

“$变量名”是类创建的用于访问对象中的成员的引用名称。

“new” 表示创建一个新对象

“类名”表示新对象的类型

“参数”指定类构造函数用来初始化对象的值

如果类中没有定义构造函数,PHP 将自动创建一个没有参数的默认构造函数。

一个类可以实例化多个对象,各个对象之间相互独立,互不影响,属性和方法不共享(如一张玻璃设计图,按照这张图可以做出上千块玻璃,但是当一块玻璃碎了,其他的玻璃并不会碎),即它们属于同一个玻璃类。

7. 访问对象中的成员

访问对象中的成员有两种方式:成员属性和成员方法。

对于成员属性的操作有两种:1.赋值操作 2.获取成员属性值操作

$引用名 new 类名称([参数列表]); //对象实例化
$引用名->成员属性=值;       //给成员属性赋值
echo $引用名->成员属性;      //获取成员属性的值
$引用名->成员方法;          //访问成员方法

如果对象的成员不是静态的,则访问形式只有“对象引用名->属性”(不带$符号),和“对象引用名->方法名()”。

8. 特殊对象引用“$this”

我们可以在对象外部实例化对象,使用对象引用来访问对象成员。但是当我们想访问对象内部的对象成员时该怎么办呢?是否应该在内部实例化呢?答案是否定的。这里我们需要引入一个特殊的对象引用“$this”。

this 代表对象,若要在对象内部的成员方法中访问成员,则使用 this 代表对象,若要在对象内部的成员方法中访问成员,则使用 this-> 和 $this->,只能在成员方法中使用

9.构造函数和析构函数(魔术方法)

施工方法:

①如果在声明类的时候没有显式声明,那么类中会有一个没有参数列表,内容为空的默认构造函数,如果显式声明,则不存在默认构造函数。

②在对象实例化时会自动调用一次,即每使用new关键字实例化一个对象就会调用一次。构造函数不能通过对象引用主动调用。

③通常用于给成员属性分配初始值。

④ PHP5之前的版本方法名和类名必须一致

⑤同一个类只能有一个构造函数

public function __construct(){
  //主体
}

析构函数方法:

①允许在小会儿对象之前执行一些特定的操作(关闭文件、释放结果集)

②无参数

当堆内存中的对象失去访问引用时,则认为是垃圾对象,被回收。在垃圾回收器回收该对象前,会调用析构函数方法。

public function __destruct(){
  //方法体
}

二维码
扫一扫在手机端查看

本文链接:https://by928.com/5853.html     转载请注明出处和本文链接!请遵守 《网站协议》
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。

项目经理在线

我们已经准备好了,你呢?

2020我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

13761152229

上班时间

周一到周五

公司电话

二维码
微信
线