php基础-面向对象

admin 2025年6月28日11:53:53评论0 views字数 2445阅读8分9秒阅读模式

面向对象编程(Object-Oriented Programming,OOP)是一种编程思想,它通过 类(Class) 和 对象(Object) 来组织代码,可以让程序更加模块化、可扩展、易维护

核心概念

概念 简介
类(Class) 一种模板,定义对象的属性和行为
对象(Object) 类的实例,实际存在的个体
属性(Property) 类中定义的变量,表示对象的特征
方法(Method) 类中定义的函数,表示对象的行为
什么是类?

类就像是蓝图,或者可以理解为“设计图”。比如:你去买一辆车,‘车’这个概念就是一个类。车的设计图会告诉你:车需要有轮子、方向盘、油门,这些“定义”就是类。

类 = 设计图,模板。
PHP 中类的写法
classCar {public$brand;   // 品牌public$color;   // 颜色public$speed;   // 速度// 构造函数,创建对象时自动调用publicfunction__construct($brand$color$speed) {$this->brand=$brand;$this->color=$color;$this->speed=$speed;    }// 方法:启动publicfunctionstart() {echo$this->brand . "启动了,颜色是 " . $this->color . "<br>";    }// 方法:加速publicfunctionaccelerate() {echo$this->brand . "加速到 " . $this->speed . "km/h<br>";    }}
什么是对象?

对象就是根据设计图造出来的实际东西。继续用买车举例:宝马是一辆车,奔驰也是一辆车,它们都属于‘车’这个类,但是它们是具体的车,这就是对象。

对象 = 实际造出来的产品,实物。
PHP 中对象的写法
$bmw=newBMW("宝马""黑色"220);$benz=newBenz("奔驰""白色"200);
什么是属性?

属性就是对象的特征,具体的描述信息。比如:宝马这辆车的颜色是黑色、奔驰这辆车的速度是 220km/h;这些“颜色”、“速度”就是属性。它描述了这辆车“是什么样的”。

属性 = 对象的特点。

在 PHP 里像这样写:

public$brand;   // 品牌public$color;   // 颜色public$speed;   // 速度
属性的访问控制

关键字 public、private、protected(在继承中会进一步说明)

  • public(公有):公有的类成员可以在任何地方被访问。

  • protected(受保护):受保护的类成员则可以被其自身以及其子类和父类访问(咱家的)。

  • private(私有):私有的类成员则只能被其定义所在的类访问(自己的)。

什么是方法?

方法就是对象能做的事情,或者说功能。比如:车可以加速(功能)、车可以刹车(功能);这些“加速”、“刹车”就是方法。

方法 = 对象的行为,能干什么。
PHP 方法示例
public function start() {echo$this->brand . "启动了,颜色是 " . $this->color . "<br>";}// 方法:加速public function accelerate() {echo$this->brand . "加速到 " . $this->speed . "km/h<br>";}
php基础-面向对象
方法的调用

在 PHP 面向对象编程中,对象方法的调用语法:

$对象名->方法名();

以上面的类为例子:

classCar {publicfunctiondrive() {echo"汽车正在行驶<br>";    }}$car=newCar(); // 创建对象$car->drive();    // 调用对象的方法
php基础-面向对象
php基础-面向对象
__construct构造函数
  • 构造函数是一种特殊的方法,在创建一个新对象时,它会被自动调用。

  • 它可以用来 初始化 对象的属性或执行其他必要的操作

  • 没有返回值

下面是Car类中的构造函数:

publicfunction__construct($brand$color$speed) {$this->brand=$brand;$this->color=$color;$this->speed=$speed;    }

因为构造函数带有参数,所以我们在创建对象的时候就可以直接传入值。

$bmw=newCar("宝马""黑色"220);

此时bmw对象创建成功后构造函数自动调用,其属性也就自动赋值。

__destruct析构函数
  • 析构函数是一种特殊的方法,它在对象被销毁时自动调用

  • 它可以用来执行一些清理操作,例如释放资源或关闭数据库连接。

  • 当对象不再被引用或脚本执行结束时,析构函数会被自动调用

对象自身引用$this

它指代的是当前正在执行代码的那个对象本身,用来访问对象的属性和方法。

php基础-面向对象
php基础-面向对象
static 静态变量 和 self

static静态变量/方法 属于类本身,而不是某个对象,不需要实例化对象,也可以访问静态成员,静态变量在类的所有实例间共享。

php基础-面向对象
self 关键字

self 指代 当前类(不是对象),访问类的静态成员(属性或方法)时用 self::,不能用来访问实例属性或实例方法。

classTest {
publicstatic$name="PHP";

publicstaticfunctionsay() {
echo"Hello from " . self::$name;
    }
}

Test::say(); // 输出 Hello from PHP
php基础-面向对象
类常量

静态属性与类常量相似,唯一的区分是类常量不可以更改,静态属性可以更改使用场景:所有的对象共用一个属性

constNAME="Fengling";

echoself::MAOSHU;
php基础-面向对象

0x0 每日资源分享【PHP项目实战教程

夸克网盘「PHP项目实战教程」链接:https://pan.quark.cn/s/4a16c67edbd2

原文始发于微信公众号(风铃情报站):php基础-面向对象

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年6月28日11:53:53
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   php基础-面向对象http://cn-sec.com/archives/4206211.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息