热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

了解一下PHP面向对象的相关概念

本篇文章来给大家谈谈PHP面向对象概念。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
本篇文章来给大家谈谈PHP面向对象概念。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

一、面向对象的概念

1、面向对象实现了软件工程的三个目标:重用性、灵活性和扩展性

2、使其编程的代码更简洁,更易于维护,并且具有更强的可重用性

3、面向对象的特点:

封装:隐藏对象的属性和实现细节

继承:从一个基类得到一个或多个类的机制

多态:根据使用类的上下文来重新定义或改变类的性质或行为

二、类和对象的关系

1、类是用于生成对象的代码模板

2、PHP中使用关键字class和一个任意的类名来声明一个类,首字母大写

3、对象是类的“实例”,类是对象的抽象

	//声明一个类
	class Book{
	
	}
	//实例化一个对象
	$book = new Book();

三、类中的属性

1、指在类中声明的变量,也被称为成员变量,用来存放对象之间互不相同的数据

2、属性的使用:通常使用“->”符号连接对象和属性名来访问属性变量

3、在类方法内部通过“$this->”来访问同一对象的属性

4、指向对象的变量是一个引用变量,在这个变量里面存储的是所指向对象的内存地址

//声明一个类
class Book{
public $name='PHP学习';
public function getName(){
return $this->name;
}
}
//实例化一个对象
$book = new Book();
//访问类的对象成员
echo $book->name;//输出 PHP学习
//访问类的对象方法
echo $book->getName();//输出 PHP学习

四、类中的方法

1、属性可以让对象存储数据,类中的方法则可以让对象执行任务

2、方法的使用:使用“->”符号连接对象和方法名来调用方法,后面要带圆括号

3、如果参数数量超过方法定义参数的数量,PHP会忽略多余的参数,不会报错

4、允许向一个方法内部传递另外一个对象的引用

五、构造方法

1、构造方法是对象被创建时自动调用的方法,用来确保必要的属性被设置

2、使用__construct()来定义构造函数

//用来初始化一个成员变量
public function __construct(){
$this->name = 'PHP学习';
}

六、析构函数与PHP的垃圾回收机制

1、析构方法是当某个对象成为垃圾或者当对象被显式销毁时执行的方法。

2、没有任何变量引用这个对象时,该对象就成为垃圾,PHP会自动将其在内存中销毁,垃圾处理机制

3、当一个PHP线程结束时,当前占用的所有内存空间都会被销毁,所有对象同样被销毁

4、使用__destruct()来定义析构函数,一般不要去定义析构函数

5、当对象没有引用时,对象同样被销毁

本文转载自:https://blog.csdn.net/kelinfeng16/article/details/82662288

推荐:PHP视频教程

以上就是了解一下PHP面向对象的相关概念的详细内容,更多请关注 第一PHP社区 其它相关文章!


推荐阅读
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 在Kubernetes上部署JupyterHub的步骤和实验依赖
    本文介绍了在Kubernetes上部署JupyterHub的步骤和实验所需的依赖,包括安装Docker和K8s,使用kubeadm进行安装,以及更新下载的镜像等。 ... [详细]
  • 打开文件管理器_【教程】模组管理器3.1食用指南
    文编:byakko最近有部分小伙伴反应还不会使用unity模组管理器,现在我就给大家讲一下unity模组管理器——从下载到使用。完整视频版以下是无WiF ... [详细]
  • 本文详细介绍了C语言中的格式化字符串类型,包括浮点数、十六进制数字、p-计数法、十进制整数、小数形式、实数、有符号整数和输出字符串等。对于每种类型,都给出了详细的解释和示例。通过本文的学习,读者将对C语言中的格式化字符串类型有更深入的理解。 ... [详细]
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • 本文详细解析了JavaScript中相称性推断的知识点,包括严厉相称和宽松相称的区别,以及范例转换的规则。针对不同类型的范例值,如差别范例值、统一类的原始范例值和统一类的复合范例值,都给出了具体的比较方法。对于宽松相称的情况,也解释了原始范例值和对象之间的比较规则。通过本文的学习,读者可以更好地理解JavaScript中相称性推断的概念和应用。 ... [详细]
  • Linuxchmod目录权限命令图文详解在Linux文件系统模型中,每个文件都有一组9个权限位用来控制谁能够读写和执行该文件的内容。对于目录来说,执行位的作用是控制能否进入或者通过 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • Lodop中特殊符号打印设计和预览样式不同的问题解析
    本文主要解析了在Lodop中使用特殊符号打印设计和预览样式不同的问题。由于调用的本机ie引擎版本可能不同,导致在不同浏览器下样式解析不同。同时,未指定文字字体和样式设置也会导致打印设计和预览的差异。文章提出了通过指定具体字体和样式来解决问题的方法,并强调了以打印预览和虚拟打印机测试为准。 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • Final关键字的含义及用法详解
    本文详细介绍了Java中final关键字的含义和用法。final关键字可以修饰非抽象类、非抽象类成员方法和变量。final类不能被继承,final类中的方法默认是final的。final方法不能被子类的方法覆盖,但可以被继承。final成员变量表示常量,只能被赋值一次,赋值后值不再改变。文章还讨论了final类和final方法的应用场景,以及使用final方法的两个原因:锁定方法防止修改和提高执行效率。 ... [详细]
  • 本文介绍了求解gcdexgcd斐蜀定理的迭代法和递归法,并解释了exgcd的概念和应用。exgcd是指对于不完全为0的非负整数a和b,gcd(a,b)表示a和b的最大公约数,必然存在整数对x和y,使得gcd(a,b)=ax+by。此外,本文还给出了相应的代码示例。 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
author-avatar
Hate----you_381
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有