小熊奶糖(BearCandy)
小熊奶糖(BearCandy)
发布于 2024-03-06 / 12 阅读
0
0

PHP面向对象以及特点

PHP 中的面向对象编程 (Object-Oriented Programming, OOP) 特点主要包括以下几点:

  1. 封装

    • 封装是指将数据(属性)和对数据的操作(方法)捆绑在一起形成一个独立的实体——类。通过类,可以隐藏对象内部的复杂性,对外仅暴露必要的接口,从而保证了数据的安全性和完整性。在PHP中,可以使用 publicprotectedprivate关键字来控制成员变量(属性)和成员函数(方法)的访问权限。
  2. 继承

    • 继承允许创建一个类(子类)从另一个类(父类)继承属性和方法。这样子类不仅可以复用父类的功能,还可以在此基础上扩展新的属性和方法。在PHP中,使用 extends关键字实现类的继承。
  3. 多态

    • 多态指的是同一接口(方法名)在不同类的实例中可以有不同的实现方式。PHP支持两种形式的多态:静态多态(编译时多态,例如重载)和动态多态(运行时多态,通过 __call()__callStatic()等魔术方法以及接口和抽象类实现)。
  4. 抽象

    • 抽象类(abstract class)是用来定义一个类家族的通用接口,它可以包含抽象方法(没有具体实现的方法),子类必须覆盖这些抽象方法才能被实例化。此外,接口(interface)也是实现多态的一种手段,它规定了一组方法签名,所有实现该接口的类都必须提供相应的实现。
  5. 魔术方法

    • 魔术方法是PHP中一些特殊的方法名称,它们会在特定的时刻自动被调用,例如构造函数 __construct()用于初始化对象,析构函数 __destruct()在对象被销毁前调用以清理资源。

对象
在PHP中,对象是一个类的实例。当你根据类创建一个新的实例时,你就创建了一个对象。对象包含了类定义的所有属性和方法,可以通过对象来调用其方法并操作属性,从而体现类定义的行为和状态。例如:

class Animal {
    public $color;
    function speak() {
        echo "Making a sound!";
    }
}

$dog = new Animal(); // 创建Animal类的对象(实例)
$dog->color = "Brown"; // 设置对象的属性
$dog->speak(); // 调用对象的方法
//实例化
$cat = new Animal(); // 创建Animal类的对象(实例)
$cat->color = "red"; // 设置对象的属性
$cat->speak(); // 调用对象
$dog->speak(); // 调用对象的方法
//发现只会根据实例化的对象内的内容改变,两个实例化的对象,修改变量后并不会改变彼此类中变量的内容

在这个例子中,Animal是一个类,$dog就是一个Animal类的对象实例,它拥有类中定义的颜色属性和 speak方法。


评论