本文介绍了 PHP 面向对象编程OOP的基础知识包括对象、类、创建对象、成员方法、构造函数、析构函数、继承以及方法重写等核心内容并结合简单示例帮助大家理解各知识点的作用和使用方式。文章目录什么是PHP 面向对象面向对象内容PHP创建对象调用成员方法PHP构造函数constructPHP析构函数destructorPHP继承方法extendsPHP方法重写总结什么是PHP 面向对象在面向对象的程序设计英语Object-Oriented Programming简称OOP中对象是一个由信息及对信息进行处理的描述所组成的整体是对现实世界的抽象。在现实世界里我们所面对的事物都是对象如计算机、电视机、自行车等。对象主要具有三个特性对象的行为、对象的形态、对象的表示。对象的主要三个特性对象的行为可以对对象施加哪些操作例如开灯、关灯等都属于对象的行为。对象的形态当施加某些方法时对象如何响应例如颜色、尺寸、外形等。对象的表示对象的表示相当于对象的身份证用于区分具有相同行为和状态的不同对象。例如Animal动物是一个抽象类我们可以具体实例化为一只狗或一只羊而狗和羊就是具体的对象它们具有颜色等属性也具有奔跑、叫声等行为。面向对象内容类Class—— 定义了一件事物的抽象特点类的定义包含了数据的形式以及对数据的操作。对象Object—— 类的实例。成员变量Member Variable—— 定义在类内部的变量。该变量的值对外不可见但可以通过成员函数访问。当类被实例化为对象后该变量即可称为对象的属性。成员函数Member Function—— 定义在类内部的函数用于访问对象的数据。继承Inheritance—— 继承是子类自动共享父类数据结构和方法的机制是类之间的一种关系。在定义和实现一个类时可以在已有类的基础上进行扩展将已有类的内容作为自己的内容并加入新的功能。父类Parent Class—— 一个类被其他类继承时该类称为父类也称基类Base Class或超类Super Class。子类Child Class—— 继承其他类的类称为子类也称派生类Derived Class。多态Polymorphism—— 多态是指相同的操作、函数或过程可以作用于不同类型的对象并产生不同的结果。不同对象接收到同一消息时可以表现出不同的行为这种现象称为多态。重载Overloading—— 简单来说就是函数或方法具有相同的名称但参数列表不同。同名不同参数的函数或方法互称为重载函数方法。抽象Abstraction—— 抽象是指将具有一致数据结构属性和行为操作的对象抽象为类。类反映了与应用相关的重要特征而忽略其他无关细节。封装Encapsulation—— 封装是指将现实世界中对象的属性和行为绑定在一起并放置到一个逻辑单元中对外隐藏实现细节。构造函数Constructor—— 用于在创建对象时完成初始化操作为对象成员变量赋初始值通常与new运算符一起使用。析构函数Destructor—— 与构造函数相反当对象生命周期结束时例如对象所在函数执行完毕系统会自动调用析构函数。析构函数通常用于释放资源例如释放使用new申请的内存。PHP创建对象类创建后我们可以使用 new 比如$dognew Animal();以上代码我们创建了三个对象三个对象各自都是独立的接下来我们来看看如何访问成员方法与成员变量。调用成员方法PHP 定义类通常语法格式如下这里我们以Animal类举例?phpclassAnimal{public$name;# 设置这个类的属性,比如名字年龄等publicfunctionsetName($name){$this-name$name;}publicfunctiongetName(){在这里插入代码片return$this-name;}}$dognewAnimal();// 创建对象$dog-setName(wangcai);// 调用成员函数设置名字echo$dog-getName();// 调用成员函数获取名字PHP构造函数construct构造函数是一种特殊的方法。主要用来在创建对象时初始化对象 即为对象成员变量赋初始值在创建对象的语句中与 new 运算符一起使用。相当于现在我们就不需要再调用setName和getName方法了直接一次性解决所有问题?phpclassAnimal{public$name;publicfunction__construct($name){//构造函数初始值$this-name$name;}}$dognewAnimal(goudan);echo$dog-name;结果如下PHP析构函数destructor析构函数(destructor) 与构造函数相反当对象结束其生命周期时例如对象所在的函数已调用完毕系统自动执行析构函数。?phpclassAnimal{public$name;// 构造函数创建对象时自动执行publicfunction__construct($name){$this-name$name;echo对象创建成功br;}// 析构函数对象销毁时自动执行publicfunction__destruct(){echo对象已销毁释放资源;}}$dognewAnimal(goudan);echo$dog-name;?结果如下PHP继承方法extendsPHP 使用关键字extends来继承一个类PHP 不支持多继承格式如下classChildextendsParent{// 代码部分}作用继承是指子类继承父类的属性和方法在无需修改原有代码的基础上实现代码复用并可以扩展新的功能。?php// 父类classAnimal{public$name;publicfunction__construct($name){$this-name$name;}publicfunctionsay(){echo我的名字是.$this-name.;}}// 子类继承父类(重点)classDogextendsAnimal{publicfunctionbark(){echo汪汪汪;}}// 创建子类对象$dognewDog(goudan);// 调用继承自父类的方法$dog-say();// 调用子类自己的方法$dog-bark();?一句话解释Dog通过extends Animal继承了Animal类因此无需重新定义name 属性和 say() 方法就可以直接使用父类的成员同时还能新增自己的 bark() 方法。# 继承关系图Animal父类 ┌──────────────┐ │ public$name│ │ __construct()│ │ say()│ └──────┬───────┘ │ extends ▼ Dog子类 ┌──────────────┐ │ bark()│ └──────────────┘PHP方法重写如果从父类继承的方法不能满足子类的需求可以对其进行改写这个过程叫方法的覆盖override也称为方法的重写。作用方法重写是指子类继承父类后重新定义父类中同名的方法从而实现不同的功能。调用该方法时会优先执行子类中的实现。?php# 父类class Animal{publicfunctionsay(){echo我是一个动物。br;}}# 子类class Dog extends Animal{// 重写父类的 say()方法 publicfunctionsay(){echo我是一只大象。br;}}$dognew Dog();$dog-say();?一句话解释子类通过定义与父类同名的方法覆盖父类原有实现当调用该方法时会优先执行子类的方法这就是方法重写Override。总结本文介绍了 PHP 面向对象编程OOP的基础知识包括对象、类、创建对象、成员方法、构造函数、析构函数、继承以及方法重写等核心内容并结合简单示例帮助大家理解各知识点的作用和使用方式。面向对象是 PHP 代码审计中不可或缺的基础。无论是阅读框架源码还是分析反序列化漏洞、POP 链、魔术方法等安全问题都离不开对面向对象编程的理解。掌握这些基础知识将为后续深入学习 PHP 代码审计奠定坚实基础。
WaveTools鸣潮工具箱:解锁高帧率体验与智能抽卡分析的终极指南 WaveTools鸣潮工具箱:解锁高帧率体验与智能抽卡分析的终极指南 【免费下载链接】WaveTools 🧰鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools 还在为《鸣潮》PC版的帧率限制而烦恼吗?是否觉得多账号切换太麻烦&am…
WarcraftHelper:让经典魔兽争霸III在现代电脑上焕发新生的必备插件 WarcraftHelper:让经典魔兽争霸III在现代电脑上焕发新生的必备插件 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸III这款…
RL后训练收益集中在Transformer中间层,单层训练效果超越全参数更新 在强化学习(RL)与大语言模型(LLM)结合的后训练(post-training)流程中,行业长期默认所有参数都需要参与更新才能获得性能提升。然而,一篇发布于 arXiv 2026 的研究论文通过系统性实验…
百达翡丽中国官方售后服务中心|地址与联系电话权威信息通告(2026年7月更新) - 百达翡丽服务中心 百达翡丽中国官方售后服务中心2026年7月更新后的全国统一客户服务热线为400-805-0910,客服在线时间为每日8:00-22:00。官方售后地址已正式启用全新办公场所,全国仅此一处直属服务网点,面向所有腕表提供到店或邮寄服…
C++ Windows文件遍历实战:从Win32 API到高性能递归实现 1. 项目概述:为什么我们需要自己动手实现文件遍历?在Windows平台上用C处理文件,听起来像是每个开发者入门时都会接触的基础操作。但当你真正接手一个需要扫描特定目录、过滤文件类型、或者构建一个简易文件管理工具的任务时,你会发…
C++进阶实战:从零实现String类,掌握动态内存与RAII核心 1. 项目概述:为什么从string类开始你的C进阶之路?如果你已经学完了C的基础语法,比如变量、循环、判断,甚至接触了指针和数组,那么恭喜你,你已经推开了C世界的大门。但接下来,很多人会陷入一个迷…
双院区协同升级:大型医院全栈国产化落地实践 文章目录一、项目背景:医疗同质化发展与信创国产化双重刚需二、项目改造难点:多院区医疗系统改造核心痛点2\.1 业务场景复杂,零停机改造要求高2\.2 双院区数据互通难,一致性保障要求严苛2\.3 医护人员使用习惯转型成本高三、整体落…
装修选水漆木作,到底靠谱吗? 行业痛点分析:环保升级背后的技术困局随着消费市场对家居环保与审美双重需求的提升,水漆木作已逐渐成为高端家装领域的重要选择。然而,转向水漆技术并非简单的材料替换。根据《中国水漆行业技术白皮书》数据显示,2024年水漆木作产…
PHP伪协议实战:利用php://input与php://filter实现文件包含与RCE 1. 项目概述与核心思路最近在CTFHub上刷题,遇到一个典型的PHP文件包含结合RCE的挑战,题目本身不复杂,但正好把php://input和php://filter这两个经典的PHP伪协议给串起来了。很多刚接触Web安全的朋友对伪协议的理解可能停留在“知道有这么个东…
AI推荐结果怎么优化:适合深圳少儿素质培训机构的GEO服务商哪家好?全程零代码SAAS操作 这两年,越来越多深圳地区的少儿素质培训机构开始关注 GEO。 原因很简单。过去家长找培训机构、找兴趣班、找素质教育课程,主要靠搜索引擎、短视频平台、社交平台种草和熟人推荐;现在越来越多深圳本地家长,已经开始直接在 AI 里提…
开源本地智能体 OpenClaw 2.7.9 保姆级部署手册,零代码操控电脑重复工作 📖前言 OpenClaw,在开发者社区中常被亲切地称为"小龙虾",是当前备受关注的开源 AI 智能体项目,其在 GitHub 平台上已累计获得超过 28 万星标。与常规的对话型 AI 工具不同,OpenClaw 能够理解自然语言指令&a…
广氟 PTFE 高速线缆膜 —— 高端线缆绝缘材料新选择 PTFE高速线缆膜的基本概念与特点 PTFE 高速线缆膜是以聚四氟乙烯树脂为原料,经膨化双向拉伸制成的多孔绝缘薄膜,作为高速高频通信线缆的核心介质材料,内部形成均匀连通的微孔结构,兼具极低介电常数与介电损耗,能有效降…
PlantUML 实战:5分钟将 UML 2.5 序列图转换为可执行代码草图 PlantUML 实战:5分钟将 UML 2.5 序列图转换为可执行代码草图 在软件开发过程中,清晰的系统设计往往比编码本身更为关键。传统拖拽式UML工具虽然直观,却常常成为效率杀手——频繁的鼠标操作打断设计思路,版本控制困难,…
【RT-DETR涨点改进】29 动态Batch推理:让RT-DETR在低延迟下吃满GPU算力 29 动态Batch推理:让RT-DETR在低延迟下吃满GPU算力 开篇故事 上个月帮一家安防厂商做项目优化,他们用RT-DETR做实时人流统计,部署在NVIDIA A10上。客户反馈说:“GPU利用率才30%,但延迟已经飙到40ms了,加人流量就丢帧。” 我远程一看,好家伙——生产环境里每个请求单独…
Postman 环境变量实战:3种动态设置方法与CI/CD集成避坑指南 Postman 环境变量高阶实战:动态管理与 CI/CD 深度集成在接口自动化测试领域,环境变量的灵活运用往往成为区分初级与高级测试工程师的关键能力。本文将深入探讨 Postman 环境变量的三种动态设置模式,并分享 Newman 在 CI/CD 流水线中的实战避坑…
[C++]内存管理:串顺序存储的内存回收 在串(字符串)的顺序存储中,内存回收的方式取决于字符串的存储方式以及所使用的编程语言和相关库。以下以 C 为例进行说明,因为 C 对内存管理有较为直接的控制。 1. 基于 char 数组的串顺序存储 如果使用普通的 char 数组来存储字…
移动端游戏功耗测试实战:电流、功率、亮度和场景对比 移动端游戏功耗测试:先控制变量,再比较优化是否真的省电 摘要:功耗测试最容易犯的错误,是拿两次不同温度、不同亮度、不同场景的平均功率直接比较。本文给出一套可复现的游戏功耗测试方法,覆盖引擎特性验证、版本回归和黑盒体验测试,并说明如何把功耗与帧率、温控、CPU/G…
足球口袋教练 HarmonyOS 离线应用实战(03/20):ArkUI 首页仪表盘搭建 本文是“足球口袋教练 HarmonyOS 离线应用实战”系列第 3 篇。示例项目是一个 HarmonyOS / ArkTS / ArkUI 编写的离线足球训练助手,围绕真实页面、真实截图和可复现操作展开。 本篇要解决的问题 训练 App 的首页不能只展示欢迎语,它要解决“我现在该点哪…