位置: 编程技术 - 正文

php面向对象全攻略 (一) 面向对象基础知识(深入php:面向对象、模式与实践)

编辑:rootadmin
1.面向对象的概念 面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构,OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成,OOP 达到了软件工程的三个目标:重用性、灵活性和扩展性。为了实现整体运算,每个对象都能够接收信息、处理数据和向其它对象发送信息。面向对象一直是软件开发领域内比较热门的话题,首先,面向对象符合人类看待事物的一般规律。其次,采用面向对象方法可以使系统各部分各司其职、各尽所能。为编程人员敞开了一扇大门,使其编程的代码更简洁、更易于维护,并且具有更强的可重用性。有人说PHP 不是一个真正的面向对象的语言, 这是事实。PHP 是一个混合型语言,你可以使用OOP,也可以使用传统的过程化编程。然而,对于大型项目,你可能需要在PHP 中使用纯的OOP 去声明类,而且在你的项目里只用对象 和类。这个概念我先不多说了,因为有很多朋友远离面向对象编程的主要原因就是一接触面向对象概念的时候就理解不上去,所以就不想去学下去了。等读者看完整篇内容后再去把概 念搞明白吧。 2.什么是类,什么是对象,类和对象之间的关系 类的概念:类是具有相同属性和服务的一组对象的集合。它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分。在面向对象的编程语言中,类是 一个独立的程序单位,它应该有一个类名并包括属性说明和服务说明两个主要部分。 对象的概念:对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组服务组成。从更抽象的角度来说,对 象是问题域或实现域中某些事物的一个抽象,它反映该事物在系统中需要保存的信息和发挥的作用;它是一组属性和有权对这些属性进行操作的一组服务的封装体。客观世界是由对象 和对象之间的联系组成的。 类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对一类对象的抽象就是类。类描述了一组有相同特性(属性)和相同行为(方法)的对象。 上面大概就是它们的定义吧,也许你是刚接触面向对象的朋友,不要被概念的东西搞晕了,给你举个例子吧,如果你去中关村想买几台组装的PC 机,到了那里你第一步要干什么, 是不是装机的工程师和你坐在一起,按你提供的信息和你一起完成一个装机的配置单呀,这个配置单就可以想象成是类,它就是一张纸,但是它上面记录了你要买的PC 机的信息,如 果用这个配置单买 台机器,那么这 台机子,都是按这个配置单组成的,所以说这 台机子是一个类型的,也可以说是一类的。那么什么是对象呢,类的实例化结果就是对象,用这 个配置单配置出来(实例化出来)的机子就是对象,是我们可以操作的实体, 台机子,个对象。每台机子都是独立的,只能说明他们是同一类的,对其中一个机做任何动作都不会 影响其它9 台机器,但是我对类修改,也就是在这个配置单上加一个或少一个配件,那么装出来的9 个机子都改变了,这是类和对象的关系(类的实例化结果就是对象)。 3.什么是面向对象编程呢? 就不说他的概念,如果你想建立一个电脑教室,首先要有一个房间,房间里面要有N 台电脑,有N 张桌子,N 把椅子,白板,投影机等等,这些是什么,刚才咱们说了,这就是对象,能看到的一个个的实体,可以说这个电脑教室的单位就是这一个个的实体对象,它们共 同组成了这个电脑教室,那么我们是做程序,这和面向对象有什么关系呢?开发一个系统程序和建一个电脑教室类似,你把每个独立的功能模块抽象成类,形成对象,由多个对象组成 这个系统,这些对象之间都能够接收信息、处理数据和向其它对象发送信息等等相互作用。 4.如何抽象出一个类? 上面已经介绍过了,面向对象程序的单位就是对象,但对象又是通过类的实例化出来的,所以我们首先要做的就是如何来声明类,做出来一个类很容易,只要掌握基本的程序语法定 义规则就可以做的出来,那么难点在那里呢?一个项目要用到多少个类,用多少个对象,在那要定义类,定义一个什么样的类,这个类实例化出多少个对象,类里面有多少个属性,有 多少个方法等等,这就需要读者通过在实际的开发中就实际问题分析设计和总结了。 类的定义: class 类名{ } 使用一个关键字class 和后面加上一个你想要的类名以及加上一对大括号,这样一个类的结构就定义出来了,只要在里面写代码就可以了,但是里面写什么?能写什么?怎样写才是 一个完整的类呢?上面讲过来,使用类是为了让它实例出对象来给我们用,这就要知道你想要的是什么样的对象了,像上面我们讲的一个装机配置单上写什么,你装出来的机子就有什 么。比如说,一个人就是一个对象,你怎么把一个你看好的人推荐给你们领导呢?当然是越详细越好了: 首先,你会介绍这个人姓名、性别、年龄、身高、体重、电话、家庭住址等等。 然后,你要介绍这个人能做什么,可以开车,会说英语,可以使用电脑等等。只要你介绍多一点,别人对这个人就多一点了解,这就是我们对一个人的描述,现在我 们总结一下,所有的对象我们用类去描述都是类似的,从上面人的描述可以看到,做出一个类来,从定义的角度分两部分,第一是从静态上描述,第二是从动态上描述,静态上的描述 就是我们所说的属性,像上面我们看到的,人的姓名、性别、年龄、身高、体重、电话、家庭住址等等。 动态上也就是人的这个对象的功能,比如这个人可以开车,会说英语,可以使用电脑等等,抽象成程序时,我们把动态的写成函数或者说是方法,函数和方法是一样的。所以,所有类 都是从属性和方法这两方面去写,属性又叫做这个类的成员属性,方法叫做这个类的成员方法。 class 人{ 成员属性:姓名、性别、年龄、身高、体重、电话、家庭住址 成员方法:可以开车,会说英语,可以使用电脑 } 属性: 通过在类定义中使用关键字"var"来声明变量,即创建了类的属性,虽然在声明成员属性的时候可以给定初始值,但是在声明类的时候给成员属性初始值是没有必要的,比如说要是把 人的姓名赋上“张三”,那么用这个类实例出几十个人,这几十个人都叫张三了,所以没有必 要,我们在实例出对象后给成员属性初始值就可以了。 如:var $somevar; 方法(成员函数): 通过在类定义中声明函数,即创建了类的方法。 如:function somefun(参数列表) { ... ... } 代码片段 上面就是一个类的声明,从属性和方法上声明出来的一个类,但是成员属性最好在声明 的时候不要给初始的值,因为我们做的人这个类是一个描述信息,将来用它实例化对象,比 如实例化出来 个人对象,那么这 个人,每一个人的名字、性别、年龄都是不一样的, 所以最好不要在这个地方给成员属性赋初值,而是对每个对象分别赋值的。 用同样的办法可以做出你想要的类了,只要你能用属性和方法能描述出来的实体都可以 定义成类,去实例化对象。 为了加强你对类的理解,我们再做一个类,做一个形状的类,形状的范围广了点,我们 就做个矩形吧,先分析一下,想一想从两方面分析,矩形的属性都有什么?矩形的功能都有 什么? 代码片段 如果用这个类来创建出多个矩形对象,每个矩形对象都有自己的长和宽,都可以求出自 己的周长和面积了。 类的声明我们就到这里吧!!

推荐整理分享php面向对象全攻略 (一) 面向对象基础知识(深入php:面向对象、模式与实践),希望有所帮助,仅作参考,欢迎阅读内容。

php面向对象全攻略 (一) 面向对象基础知识(深入php:面向对象、模式与实践)

文章相关热门搜索词:php面向对象编程,php语言之面向对象编程 educoder,php面向对象优点,缺点,php面向对象是什么意思,php语言之面向对象编程 educoder,php面向对象的三大特征,php面向对象的三大特征,php面向对象编程,内容如对您有帮助,希望把文章链接给更多的朋友!

php面向对象全攻略 (二) 实例化对象 使用对象成员 5.如何实例化对象我们上面说过面向对象程序的单位就是对象,但对象又是通过类的实例化出来的,既然我们类会声明了,下一步就是实例化对象了。当

php面向对象全攻略 (三)特殊的引用“$this”的使用 7.特殊的引用$this的使用现在我们知道了如何访问对象中的成员,是通过对象-成员的方式访问的,这是在对象的外部去访问对象中成员的形式,那么如

php面向对象全攻略 (四)构造方法与析构方法 8.构造方法与析构方法大多数类都有一种称为构造函数的特殊方法。当创建一个对象时,它将自动调用构造函数,也就是使用new这个关键字来实例化对

标签: 深入php:面向对象、模式与实践

本文链接地址:https://www.jiuchutong.com/biancheng/277126.html 转载请保留说明!

上一篇:PHP5 操作MySQL数据库基础代码(php5.4+mysql)

下一篇:php面向对象全攻略 (二) 实例化对象 使用对象成员(php语言之面向对象编程 educoder)

  • 不含税价格计算方法
  • 城镇土地使用税的计税依据
  • 所得税可以弥补几年
  • 购进货物的发票是外来凭证吗
  • 小企业准则汇兑损失计入什么科目
  • 企业如何实现合理利润
  • 应扣未扣税款向谁追缴
  • 劳务发票税率营改增后是多少?
  • 企业零申报教学视频
  • 吊车租赁费可以开现代服务吗
  • 工会经费税务局怎么收
  • 滴滴出行客运服务费 事业单位 报销
  • 建筑企业财务制度及规范流程
  • 财务抄税怎么抄
  • 公司贷款评估费的做账
  • 发票红冲作废是什么意思
  • 招标文件费开票品目
  • 预付账款收不回来摘要怎么写
  • 营改增后还要交营业税吗
  • 如何恢复回收站永久删除的文件
  • 为员工购买的团员保险
  • 企业类型主要有
  • linux GTK、KDE、Gnome、XWindows 图形界面区别介绍
  • 国税0申报如何网上申报
  • npfmntor.exe - npfmntor是什么进程 有什么用
  • 建筑公司预收账款一般是哪些
  • STP详解
  • 企业资产损失所得税税前扣除
  • 怎么分析一个企业的营销策略
  • 用php编写从大到小排序
  • 对于异步电动机国家标准规定3kw
  • vue clonedeep
  • 为什么我们认为北京人已经学会使用火
  • 总结js中常用的字符
  • laravel 实例
  • php取字符串
  • python中sys模块
  • 企业所得税申报表在哪里打印
  • 失业保险金支出项目14项
  • 现金流量表年报期末现金余额
  • 营业税减免会计分录
  • 企业破产员工补偿标准是按上年平均工资
  • 一般纳税人哪种税
  • 存货跌价准备转回的条件有哪些
  • 增值税进项税额抵扣期限最新
  • 装修费还没摊销怎么办
  • 预付账款和应付账款的区别与联系
  • 兼职员工对公司的好处
  • 公允价值变动损益
  • 房地产企业如何结转成本
  • 红字专用发票怎么做账
  • 水利建设基金可以零申报吗
  • 社保滞纳金怎么记账
  • .NET Framework SQL Server 数据提供程序连接池
  • 隐藏在大山深处的罪恶
  • Windows Server 2016怎么安装?Windows Server 2016安装、激活、设置详细图文教程
  • wkqkpick.exe进程是什么
  • 如何设置滑屏方式
  • vi编辑器使用教程
  • linux怎么操作
  • xp系统如何设置默认软件
  • windows8快速启动设置
  • 微软状态
  • win10的qq
  • win10系统如何关闭杀毒软件和防火墙
  • win8应用商店下载
  • unity g
  • js内置对象方法有哪些
  • 浅谈特殊儿童的融合教育论文
  • awk入门
  • web开发手机app
  • shell脚本遍历文件
  • xml文件的数据如何读取
  • javascript中的对象用于
  • unity3d ik
  • 手机安卓版本升级
  • 安卓系统手机图片文件夹在哪里
  • jquery的dialog
  • jquery页面布局
  • 个体工商户 浙江
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设