位置: 编程技术 - 正文

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)

  • 企业所得税年报申报时间
  • 安徽增值税发票勾选认证流程
  • 个人所得税如何办理退税
  • 中国注册税务师报考条件
  • 增值税纳税义务确认时间
  • 注册资本印花税按年申报还是按次申报
  • 暂估入库年末怎么处理
  • 计提社保公积金的会计分录
  • 进销的单位不一样怎么办
  • 税务局代扣代缴税费
  • 房产企业赠送无形资产
  • 以无形资产投资入股缴纳哪些税收
  • 外资企业订单外放,员工待岗合法吗
  • 高新技术企业清算所得税率是多少
  • 委托加工应税消费品名词解释
  • 投标保证金以现金的形式缴纳,能以现金的形式退回吗
  • 事业单位预算外收入
  • 实物返利缴纳所得税吗?
  • 增值税专用发票和普通发票的区别
  • 没有核定税种怎么报税
  • 企业在什么情况下做薪酬诊断
  • 个人机械租赁费税率
  • 风险纳税人如何解除
  • 红字专用发票信息表需要盖章吗
  • 一般纳税人购进原材料支付的增值税
  • 独立核算分公司可以享受小型微利企业优惠吗
  • 代征税款手续费规定
  • 专项储备期末有余额吗
  • 利润表的上期金额和本期金额之间的关系
  • 苹果13promax哪个颜色最贵
  • 本月计提增值税的金额是怎么得来的
  • 员工垫付款怎么做分录
  • 如何安装电脑系统程序
  • explorer.exe是啥意思
  • 创建自定义对象主要哪几种方法,并写出基本语法结构?
  • wordpress使用
  • php中global
  • python htmltestrunner报告
  • 怎么摊销租金
  • mysql获取字段值的长度
  • 财务软件在建立账套功能中提供了
  • 发票的开具流程一般是?
  • 企业分配利润的原因
  • 快递公司的会计都需要做什么
  • 利息收入如何做分录
  • 发放外单位人员劳务费需要在发放表上签字吗
  • 库存商品用于研发分录
  • 小规模免征增值税的有哪些
  • 待处理财产损益是备抵类科目吗
  • 年初建账考虑要点有哪些
  • 日记账自动生成
  • sql触发器菜鸟教程
  • win10简单版
  • 深度技术win11
  • solaris 2020
  • win8如何使用
  • linux安装atop
  • centos7查看性能监控
  • win7怎么进行系统还原
  • windows mobile
  • linux中查看文件
  • win10系统免费升级
  • 磁盘分区右键是灰色的
  • Linux中通过Socket文件描述符寻找连接状态介绍
  • win7系统没有光驱盘符
  • windows8开机启动项设置
  • shell.epc
  • border:none与border:0使用区别
  • Bullet(Cocos2dx)之内存泄露检测
  • 路径可分为
  • python如何将矩阵转为图像
  • jquery 使用
  • 使用灭火器时要对准火焰的什么部位喷射
  • js模拟点击alert()确定
  • android 动画特效
  • 安置残疾人就业增值税即征即退优惠
  • 代扣代缴申报表 填表说明
  • 地址变更去税务局办理
  • 复印店开什么发票
  • 内江市税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设