PHP快速入门03-面向对象编程

news2024/11/20 13:31:17

文章目录

  • 前言
  • 面向对象编程
    • 关于PHP的面向对象编程
    • 类的默认方法和属性
    • 面向对象编程示例
  • 总结


前言

本文已收录于PHP全栈系列专栏:PHP快速入门与实战
在这里插入图片描述

面向对象编程

关于PHP的面向对象编程

PHP的面向对象编程(Object-Oriented Programming,OOP)是一种在PHP开发中广泛使用的编程范式。通过面向对象编程,可以将代码分为对象,每个对象都有自己的属性和方法。这种方式使代码更加模块化、可重用和易于维护。

PHP并不是完全面向对象编程语言,既可以面向过程也可以面向对象。但是在工程化项目上面,面向对象编程的应用更加普遍。PHP的面向对象编程是通过类来实现的。

类的默认方法和属性

PHP类的默认方法包括:

  1. __construct():构造函数,用于初始化对象。
  2. __destruct():析构函数,用于释放对象所占用的内存。
  3. __get():访问不存在或无权访问的属性时调用。
  4. __set():设置不存在或无权访问的属性时调用。
  5. __call():调用不存在或无权访问的方法时调用。
  6. __toString():将对象转换为字符串时调用。

PHP类的默认属性包括:

  1. $this:指向当前对象的指针。
  2. static:关键字,用于访问静态属性和方法。
  3. self:关键字,用于访问当前类的属性和方法。

面向对象编程示例

假设我们要创建一个名为Person的类,用于描述人的基本信息。我们可以声明以下属性:

class Person {
    public $name;
    public $age;
    public $gender;
}

在这里,我们定义了三个属性:姓名、年龄和性别。接下来,我们可以添加一些方法,例如打招呼:

class Person {
    public $name;
    public $age;
    public $gender;

    public function sayHello() {
        echo "Hello, my name is " . $this->name . ". Nice to meet you!";
    }
}

在这里,我们定义了一个名为sayHello的方法,它会输出一条问候消息,并引用$name属性。

最后,我们可以实例化Person类,并设置其属性,如下所示:

$person = new Person;
$person->name = "Tom";
$person->age = 23;
$person->gender = "male";
$person->sayHello();

这段代码会创建一个名为Tom的Person对象,并调用sayHello方法。输出结果为:“Hello, my name is Tom. Nice to meet you!”

总结

以上就是关于本篇文章介绍的PHP面向对象编程,后续更多内容将收录在专栏PHP快速入门与实战中,感谢大家支持。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/418658.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OK-3399-C ADB烧录

ADB烧写 一、OK3399用户资料工具目录附带了ADB工具的资料包路径: 二、将其解压在C:\User目录 三、将设备通过type-c线download口与电脑相连接,打开命令行,进入解压的目录,查看adb是否安装成功: 四、安装成功后&#x…

gpt4all保姆级使用教程! 不用联网! 本地就能跑的GPT

原文:gpt4all保姆级使用教程! 不用联网! 本地就能跑的GPT 什么是gpt4all gpt4all是在大量干净数据上训练的一个开源聊天机器人的生态系统。它不用科学上网!甚至可以不联网!本地就能用,像这样↓: 如何使用&#xff…

【针对项目在线OJ系统的测试】:Junit+Selenium

目录 一、背景介绍: 二、导入的依赖: 三、测试模块1:index页面的测试 测试点1:测试"我的OJ系统这4个字是否存在" 测试点2:测试"题目列表"这4个字是否存在 测试点3:测试"编号…

设计模式(十二)之装饰器模式

文章目录什么是装饰器模式例子:总结什么是装饰器模式 现在有一块蛋糕,涂上奶油就变成了奶油蛋糕,如果加上草莓就是草莓奶油蛋糕,再加上蜡烛就变成了生日蛋糕。 程序中的对象与蛋糕十分相似。将对象类比成蛋糕,不断的加…

Faster-RCNN代码解读6:主要文件解读-中

Faster-RCNN代码解读6:主要文件解读-中 前言 ​ 因为最近打算尝试一下Faster-RCNN的复现,不要多想,我还没有厉害到可以一个人复现所有代码。所以,是参考别人的代码,进行自己的解读。 ​ 代码来自于B站的UP主&#xff…

Qt音视频开发36-超时检测和自动重连的设计

一、前言 如果网络环境正常设备正常,视频监控系统一般都是按照正常运行下去,不会出现什么问题,但是实际情况会很不同,奇奇怪怪七七八八的问题都会出现,就比如网络出了问题都有很多情况(交换机故障、网线故…

TensorFlow 1.x 深度学习秘籍:11~14

原文:TensorFlow 1.x Deep Learning Cookbook 协议:CC BY-NC-SA 4.0 译者:飞龙 本文来自【ApacheCN 深度学习 译文集】,采用译后编辑(MTPE)流程来尽可能提升效率。 不要担心自己的形象,只关心如…

持续集成——通过docker命令安装Jenkins

一、持续集成体系介绍 1、核心价值: 集成自动化测试,减少重复劳动 尽早发现和解决缺陷,减少风险 形成有机整体,明确阶段交付物 2、常见集成方案 a、阶段化 为不同的构建测试套件建立不同的CI循环周期 单元测试运行时间短,反馈…

测试基础篇

目录软件测试的生命周期测试用例设计如何描述一个bug如何创建一个Bug案例Bug的级别Bug的生命周期测试人员和开发人员产生争执了怎么办?软件测试的生命周期 软件测试的生命周期:需求分析→测试计划→测试设计、软件开发→测试执行→测试评估 软件测试&a…

AXI DMA

PG021 AXI DMA:AXI Direct Memory Access AXI DMA为内存和AXI4-Stream外设之间提供了高带宽的直接内存访问,其可选的S/G功能可以将CPU从数据搬运任务中解放出来。 AXI DMA通过AXI4-LITE接口对寄存器做一些配置和获取 MM2S:MemoryMap to St…

css 盒模型

CSS 中的盒子模型包括 IE 盒子模型和标准的 W3C 盒子模型。 box-sizing(有 3 个值哦):border-box,padding-box,content-box 这两种盒子模型最主要的区别就是 width 的包含范围: 在 标准的盒子模型中,width只是 content 部分(b…

嵌入式51单片机02-独立按键系列

文章目录独立按键一. 独立按键基础知识二. 独立按键系列代码1. 独立按键控制LED(按下灯亮,松开灯灭)(1)仿真电路图(2)源代码(3)实验结果2. 独立按键控制LED(按…

聚观早报|阿里云正式推出通义千问;京东零售开启5年最大组织变革

今日要闻:国家网信办规范生成式人工智能服务;阿里云正式推出通义千问;京东零售开启5年来最大组织变革;飞书将推出智能AI助手「My AI」;乐高将继续扩大在华零售布局国家网信办规范生成式人工智能服务 4 月 11 日&#x…

谈一谈Java的ThreadLocal

目录 先说原理: 再上代码: 运行结果: 先说原理: ThreadLocal 是一个本地线程副本变量工具类,它可以在每个线程中创建一个副本变量,每个线程可以独立地修改自己的副本变量,而不会影响其他线程…

【进阶C语言】自定义类型:结构体,枚举,联合

前言 作者简介:热爱跑步的恒川,正在学习C/C、Java、Python等。 本文收录于C语言进阶系列,本专栏主要内容为数据的存储、指针的进阶、字符串和内存函数的介绍、自定义类型结构、动态内存管理、文件操作等,持续更新! 相关…

ECM8.0——CCCM相关代码

ECM8.0——CCCM相关代码概览predIntraCCCMxCccmCalcModelsxCccmApplyModelxCccmCreateLumaRefxCccmGetLumaRefBufxCccmGetLumaPuBufxCccmCalcRefAverxCccmCalcRefArea概览 函数名称函数作用predIntraCCCM总体代码,根据CCCM技术预测输出xCccmCalcModels计算CCCM滤波器…

Idea+maven+spring-cloud项目搭建系列--14 整合请求参数校验

前言:当我们在进行web 项目的开发时,对于前端传入的参数,都需要进行一些非空必填等的验证,然后在进行业务逻辑的处理,如果写一堆的if 判断很不优雅,那么有没有好的方式来帮忙处理,本文通过hiber…

光电隔离转换器 直流信号放大器 导轨安装DIN11 IPO OC系列

概述: 导轨安装DIN11 IPO OC系列模拟信号隔离放大器是一种将输入信号隔离放大、转换成按比例输出的直流信号混合集成厚模电路。产品广泛应用在电力、远程监控、仪器仪表、医疗设备、工业自控等需要直流信号隔离测控的行业。此系列产品内部采用了线性光电隔离技术相…

DSP中定点与浮点运算

一、定点数及其定标 在定点DSP芯片中,采用的是定点数据数值运算,其操作数一般采用整形数来表示。一个整形数的最大表示范围由DSP芯片给定字长决定。字长越长,表示的范围越大,精度越高。 举例16位字长 每个16数位用1个符号位表示正…

九龙证券|这一刻,资本市场进入全新时代!

2023年4月10日,第一批10家主板注册制企业上市鸣锣敲钟,奏响了触及本钱商场灵魂深处革新的序曲。 动能切换中的我国对于高效资源配置的渴望,与革新进行时的本钱商场对于全面注册制的探究,一起凝集成一股连绵有力之暖流,…