位置: 编程技术 - 正文

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)

  • 进项税额转出借贷
  • 电子发票开票方怎么做账
  • 公户可以在淘宝下单吗
  • 契税的发票开错了还可以作废吗?
  • 年底结账会计处理
  • 出口免税什么意思
  • 土地使用权如何办理
  • 新企业会计准则什么时候实施的
  • 打印出来的明细账怎么装订
  • 购销合同的会计分录怎么写
  • 餐饮业现金流
  • 云服务器免费使用
  • win10开机选择系统%1
  • 如何在Win11上查看所有用户帐户
  • 家具厂打磨工工作图片
  • 多交的附加税怎么做账
  • php留言板的简单编写
  • 预收账款何时结转
  • kb4592438安装失败
  • 购买轿车增值税可抵扣吗?
  • 借出材料表
  • 行政事业单位的主要经济业务活动有哪些
  • 个人出租商用房个人所得税
  • 工业企业制造费用包括
  • vue3项目搭建
  • React面试题最全
  • 营业外支出是什么会计要素
  • 计提营业税金及附加比例
  • 国税申报成功未缴税
  • 投资收益的核算依据
  • 日用品属于哪个类型
  • 发票纳税识别号和名称打印出来不齐怎么回事
  • java string.class
  • dedecms源码
  • 帝国cms移动端
  • 行政事业单位福利费开支范围文件
  • 财务负责人需要工商登记吗
  • sql中循环语句怎么写
  • 金税四期对增值税专票
  • 纳税人信息变更 需要变更什么
  • 信用减值损失转回的会计处理
  • 管理费用暂估入账分录次月冲
  • 住宿费用抵扣税款会计分录
  • 不开票收入要交印花税吗
  • 营改增后税率
  • 广告公司收到广告收入会计分录
  • 小规模纳税人销售要交税吗
  • 外币汇兑会计分录
  • 生产的产品不合格,追究时公司已经注销
  • 如何操作开具红字发票
  • 环境保护税法自什么时候起施行
  • 资本金与注册资金的关系
  • 以前年度损益调整借贷方向
  • 案例分析收到了哪些安全启示
  • 查账征收的个体户怎么交个税
  • mysql5.7解压版安装步骤
  • mysql怎么把列变成行
  • MS DTC 事务管理器无法启动的解决方案
  • winpe下载u盘启动版
  • win8的应用商店
  • centos怎么设置密码
  • 电脑重装xp系统怎么设置
  • win7系统如何设置息屏
  • centos 发行版
  • 如何提升windows版本
  • scrtkfg.exe - scrtkfg是什么进程 有什么用
  • win10如何清除系统
  • centos 安装
  • win7如何变快
  • 关闭iebrowser
  • redhat linux6.5安装教程
  • Node.js中的construct构造函数
  • 不错的意思
  • python中的类怎么理解
  • jquery的选择器作用是选中某些元素
  • vue移动端图片预览
  • 编写javascript代码
  • 龙华区有几个地方
  • 拆迁房抵税政策
  • 河南省国家税务局官网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设