当前位置: 首页 > news >正文

PHP基础学习笔记(面向对象OOP)

类和对象

<?php
//声明一个名为 Fruit 的类,它包含两个属性($name 和 $color)以及两个用于设置和获取 $name 属性的方法 set_name() 和 get_name():
class Fruit {// Propertiespublic $name;public $color;// Methodsfunction set_name($name) {$this->name = $name;}function get_name() {return $this->name;}
}
?>

构造函数

构造函数允许您在创建对象时初始化对象的属性。

<?php
class Fruit {public $name;public $color;function __construct($name) {$this->name = $name;}function get_name() {return $this->name;}
}$apple = new Fruit("Apple");
echo $apple->get_name(); //Apple
$orange = new Fruit("Orange");
echo $orange->get_name();
?>

析构函数

当对象被破坏或脚本停止或退出时,会调用一个析构函数。
如果你创建了一个__destruct()函数,PHP会在脚本结束时自动调用这个函数。

<?php
class Fruit {public $name;public $color;function __construct($name) {$this->name = $name;}function __destruct() {echo "The fruit is {$this->name}.";}
}$apple = new Fruit("Apple"); //The fruit is Apple.
?>
<?php
class Fruit {public $name;public $color;function __construct($name, $color) {$this->name = $name;$this->color = $color;}function __destruct() {echo "The fruit is {$this->name} and the color is {$this->color}.";}
}$apple = new Fruit("Apple", "red"); //The fruit is Apple and the color is red.?>

访问修饰符

属性和方法可以有访问修饰符来控制它们的访问位置。

/*
有三种访问修饰符:public - 可以从任何地方访问属性或方法。 这是默认设置
protected - 属性或方法可以在类内以及从该类派生的类中访问
private - 属性或方法只能在类中访问
*/<?php
class Fruit {public $name;protected $color;private $weight;
}$mango = new Fruit();
$mango->name = 'Mango'; // OK
$mango->color = 'Yellow'; // ERROR
$mango->weight = '300'; // ERROR
?>

继承

子类将从父类继承所有公共和受保护的属性和方法。 此外,它还可以有自己的属性和方法。

<?php
class Fruit {public $name;public $color;public function __construct($name, $color) {$this->name = $name;$this->color = $color;}public function intro() {echo "The fruit is {$this->name} and the color is {$this->color}.";}
}// Strawberry is inherited from Fruit
class Strawberry extends Fruit {public function message() {echo "Am I a fruit or a berry? ";}
}
$strawberry = new Strawberry("Strawberry", "red");
$strawberry->message(); //Am I a fruit or a berry? 
$strawberry->intro(); //The fruit is Strawberry and the color is red.
?>

相关文章:

PHP基础学习笔记(面向对象OOP)

类和对象 <?php //声明一个名为 Fruit 的类&#xff0c;它包含两个属性&#xff08;$name 和 $color&#xff09;以及两个用于设置和获取 $name 属性的方法 set_name() 和 get_name()&#xff1a; class Fruit {// Propertiespublic $name;public $color;// Methodsfuncti…...

Mysql超详细安装配置教程(保姆级图文)

MySQL是一种流行的开源关系型数据库管理系统&#xff0c;它广泛用于网站和服务的数据存储和管理。MySQL以其高性能、可靠性和易用性而闻名&#xff0c;是许多Web应用程序的首选数据库解决方案之一。 一、下载安装包 &#xff08;1&#xff09;从网盘下载安装文件 点击此处直…...

HR招聘测评,如何判断候选人的团队协作能力?

什么是团队协作能力&#xff1f; 团队协作能力&#xff0c;说的是在集体环境中&#xff0c;能同他人协同工作&#xff0c;为追求共同的目标而努力&#xff0c;其中包括沟通&#xff0c;表达&#xff0c;协调&#xff0c;尊重&#xff0c;信任&#xff0c;责任共担等一系列综合…...

[STM32-HAL库]Flash库-HAL库-复杂数据读写-STM32CUBEMX开发-HAL库开发系列-主控STM32F103C6T6

目录 一、前言 二、实现步骤 1.STM32CUBEMX配置 2.导入Flash库 3.分析地址范围 4.找到可用的地址 5.写入读取普通数据 6.写入读取字符串 6.1 存储相关信息 6.2 存取多个参数 三、总结及源码 一、前言 在面对需要持久化存储的数据时&#xff0c;除了挂载TF卡&#xff0c;我们…...

windows 下访问 csdn 异常问题

windows下访问csdn可能会出现什么 确认是真人 或着直接连接不上的情况, 需要在 C:\Windows\System32\drivers\etc 路径下 hosts文件中添加如下内容 1.180.18.85 blog.csdn.net 如果目录下没有hosts文件就自己建一个...

vue3结合element-plus之如何优雅的使用表格

背景 表格组件的使用在后台管理系统中是非常常见的,但是如果每次使用表格我们都去一次一次地从 element-plus 官网去 复制、粘贴和修改成自己想要的表格。 这样一来也说得过去,但是如果我们静下来细想不难发现,表格的使用都是大同小异的,每次都去复制粘贴,对于有很多表格…...

网络协议——Modbus-RTU

目录 1、简介 2、消息格式 3、Modbus寄存器种类说明 4、功能码01H 5、功能码02H 6、功能码03H 7、功能码04H 8、功能码05H 9、功能码06H 10、功能码0FH 11、功能码10H 1、简介 Modbus-RTU&#xff08;Remote Terminal Unit&#xff09;是一种串行通信协议&#xff0…...

【Qt】如何优雅的进行界面布局

文章目录 1 :peach:写在前面:peach:2 :peach:垂直布局:peach:3 :peach:水平布局:peach:4 :peach:网格布局:peach:5 :peach:表单布局:peach: 1 &#x1f351;写在前面&#x1f351; 之前使⽤ Qt 在界⾯上创建的控件, 都是通过 “绝对定位” 的⽅式来设定的。也就是每个控件所在…...

【八股系列】分别说一下nodeJS和浏览器的事件循环机制?

文章目录 1. NodeJS1.1 Node.js 事件循环概念1.2 Node.js 事件循环工作流程1.3 Node.js 事件循环示例 2. 浏览器2.1 浏览器事件循环概念2.2 浏览器事件循环工作流程2.3 浏览器事件循环示例 1. NodeJS 1.1 Node.js 事件循环概念 在 Node.js 中&#xff0c;事件循环由 libuv 库…...

关于基础的流量分析(1)

1.对于流量分析基本认识 1&#xff09;简介&#xff1a;网络流量分析是指捕捉网络中流动的数据包&#xff0c;并通过查看包内部数据以及进行相关的协议、流量分析、统计等来发现网络运行过程中出现的问题。 2&#xff09;在我们平时的考核和CTF比赛中&#xff0c;基本每次都有…...

数据结构---树,二叉树的简单概念介绍、堆和堆排序

树 树的概念和结构 结构 在我们将堆之前&#xff0c;我们先来了解一下我们的树。 我们的堆是属于树里面的一种&#xff0c; 树是一种非线性结构&#xff0c;是一种一对多的一种结构&#xff0c;也就是我们的一个节点可能有多个后继节点&#xff0c;当然也可以只有一个或者没…...

MySQL聚合函数(多行函数)

聚合函数&#xff08;多行函数&#xff09; 聚合函数作用于一组数据&#xff0c;并对一组数据返回一个值。 常见聚合函数 AVG和SUM函数 只作用于数值类型数据&#xff0c;不包含NULL 求工资平均值和总和 MIN和MAX函数 可以作用于任何数据类型&#xff08;如字符串&#xff0c…...

智慧教室课堂-专注度及考试作弊系统、课堂动态点名,情绪识别、表情识别和人脸识别结合

课堂专注度分析&#xff1a; 课堂专注度表情识别 作弊检测&#xff1a; 关键点计算方法 转头(probe)低头(peep)传递物品(passing) 侧面的传递物品识别 逻辑回归关键点 使用&#xff1a; 运行setup.py安装必要内容 python setup.py build develop 运行demo_inference.py 将…...

单例模式简要介绍

学习目标&#xff1a; 单例模式 学习内容&#xff1a; 单例模式&#xff08;Singleton Pattern&#xff09;是一种设计模式&#xff0c;其主要目的是确保一个类只有一个实例&#xff0c;并且提供一个全局的访问点。它常用于需要全局唯一对象的场景&#xff0c;例如日志记录器、…...

深度学习面试问题总结(21)| 模型优化

本文给大家带来的百面算法工程师是深度学习模型优化面试总结&#xff0c;文章内总结了常见的提问问题&#xff0c;旨在为广大学子模拟出更贴合实际的面试问答场景。在这篇文章中&#xff0c;我们还将介绍一些常见的深度学习面试问题&#xff0c;并提供参考的回答及其理论基础&a…...

4月手机行业线上市场销售数据分析

政府对智能手机行业的支持政策&#xff0c;如5G推广&#xff0c;以及相关的产业政策&#xff0c;都在一定程度上推动了智能手机市场的发展&#xff0c;再加上AI应用的推广和全球科技迅猛发展&#xff0c;中国手机市场在2024年迎来了恢复性增长。 据鲸参谋数据统计&#xff0c;…...

首都师范大学聘请旅美经济学家向凌云为客座教授

2024年4月17日&#xff0c;首都师范大学客座教授聘任仪式在首都师范大学资源环境与旅游学院举行。首都师范大学资源环境与旅游学院院长吕拉昌主持了仪式&#xff0c;并为旅美经济学家向凌云教授颁发了聘书。 吕拉昌院长指出&#xff0c;要贯彻教育部产学研一体化战略&#xff0…...

多电脑共享鼠标键盘

由于要在两个电脑之间共用一套鼠标键盘&#xff0c;所以在此记录一下。 mouse without borders Mouse without Borders 是一款免费的 Windows 工具&#xff0c;允许你在多台电脑之间共享鼠标和键盘。 安装与配置步骤 下载和安装&#xff1a; 前往 Mouse without Borders 官…...

展厅设计对企业有哪些作用

1、增强品牌形象 企业展厅对于增强企业品牌形象、提升企业的知名度和市场竞争力具有显著作用和意义。展厅作为企业对外的窗口&#xff0c;是客户和访客了解企业的第一印象。通过独特的设计风格和精心的展示布局&#xff0c;企业可以将自身的核心价值和文化理念巧妙地融入到展厅…...

LeetCode-102. 二叉树的层序遍历【树 广度优先搜索 二叉树】

LeetCode-102. 二叉树的层序遍历【树 广度优先搜索 二叉树】 题目描述&#xff1a;解题思路一&#xff1a;一个全局队列queue&#xff0c;while queue&#xff1a;去搜集当前所有queue的level解题思路二&#xff1a;背诵版解题思路三&#xff1a; 题目描述&#xff1a; 给你二…...

Graphormer开源模型价值:替代传统QSAR方法的深度学习新范式

Graphormer开源模型价值&#xff1a;替代传统QSAR方法的深度学习新范式 1. Graphormer模型概述 Graphormer是微软研究院开发的基于纯Transformer架构的图神经网络模型&#xff0c;专门为分子图&#xff08;原子-键结构&#xff09;的全局结构建模与属性预测而设计。这个创新模…...

AWCII 040 CPU模块

AWCII 040 CPU 模块AWCII 040 是工业自动化控制系统中的中央处理单元&#xff08;CPU 模块&#xff09;&#xff0c;主要用于执行控制程序、数据运算及系统管理&#xff0c;是整个控制系统的核心“大脑”。一、基本概述AWCII 040 CPU 模块集成了处理器、存储单元及系统管理功能…...

MDS vs PCA:哪种降维方法更适合你的数据?

MDS与PCA深度对比&#xff1a;从算法原理到实战选型指南 当面对高维数据时&#xff0c;降维技术就像一把打开数据奥秘的钥匙。在众多降维方法中&#xff0c;多维尺度变换(MDS)和主成分分析(PCA)是最常被比较的两种经典技术。它们都能将复杂的高维数据简化为更易理解的二维或三维…...

H5-Dooring零基础入门终极指南:无需编码制作专业H5页面

H5-Dooring零基础入门终极指南&#xff1a;无需编码制作专业H5页面 【免费下载链接】h5-Dooring H5 Page Maker, H5 Editor, LowCode. Make H5 as easy as building blocks. | 让H5制作像搭积木一样简单, 轻松搭建H5页面, H5网站, PC端网站,LowCode平台. 项目地址: https://g…...

为什么数据质量成为人工智能领域最重要的问题

简而言之&#xff1a;传统的基于人工编写规则和被动检查的数据质量体系&#xff0c;从未针对智能体人工智能进行设计。到2026年&#xff0c;当自主代理处理错误数据时&#xff0c;没有人会介入以发现问题。那些在人工智能领域取得成功的组织&#xff0c;并非从更好的模型入手&a…...

开源 ESP32 网络收音机:OLED 界面与编码器交互全解析

1. ESP32网络收音机项目概述 第一次接触ESP32网络收音机项目时&#xff0c;我被这个小小的开发板展现出的强大功能震撼到了。想象一下&#xff0c;一个火柴盒大小的设备&#xff0c;不仅能连接WiFi播放全球各地的网络电台&#xff0c;还能通过OLED屏幕和编码器实现媲美商业产品…...

Pixel Language Portal 集成 Visual Studio Code:智能代码补全插件开发实战

Pixel Language Portal 集成 Visual Studio Code&#xff1a;智能代码补全插件开发实战 1. 为什么开发者需要智能代码补全 想象一下这样的场景&#xff1a;凌晨两点&#xff0c;你正在赶一个紧急项目&#xff0c;手指在键盘上飞舞&#xff0c;但突然卡在一个复杂的函数实现上…...

2026年选鱼鹰,哪个厂家更靠谱?一文为你揭晓好用之选!

在水产养殖领域&#xff0c;鱼鹰是一种备受关注的养殖品种&#xff0c;其市场需求也在不断增长。选择一家靠谱的鱼鹰供应厂家至关重要&#xff0c;它不仅关系到鱼鹰的品质和健康&#xff0c;还会影响到养殖的效益和未来发展。在众多的厂家中&#xff0c;济宁百鸿养殖有限公司脱…...

AirPods Pro 3 与 Bose QC Ultra Earbuds 2:无线耳机市场的激烈较量

AirPods Pro 3 与 Bose QC Ultra Earbuds 2&#xff1a;新功能大比拼最新款的 AirPods Pro 3 引入了一系列新功能&#xff0c;提升了音频效果&#xff0c;增强了降噪能力&#xff0c;还具备助听模式、实时翻译、自动切换、空间音频、心率监测等附加功能。而 Bose QuietComfort …...

告别内存映射:用AXI-Stream协议搞定FPGA视频流传输(附时序图解析)

告别内存映射&#xff1a;用AXI-Stream协议搞定FPGA视频流传输&#xff08;附时序图解析&#xff09; 在FPGA视频处理系统中&#xff0c;数据流的传输效率往往成为性能瓶颈。传统的内存映射方式虽然通用&#xff0c;但对于高吞吐量的视频数据流却显得力不从心。AXI-Stream协议以…...