搜索

PHP 50对象模型深度探索

gecimao 发表于 2019-04-26 07:02 | 查看: | 回复:

  面向对象编程是软件开发理论的一大进步,在此之前,大型应用软件项目是非常困难的,特别是那种源代码数十万行多人合作的项目,每一个改动都可能导致很多副作用产生,每个功能模块之间都可能导致其他模块出现错误。而在面向对象编程中,模块被组织成一个个对象。这些对象拥有方法和属性,从抽象的角度来看,方法是一个对象的所做的动作,而属性是对象的特性。从编程角度来看,方法就是函数而属性是变量。在一个理想化的面向对象体系中,每个部份都是一个对象,体系由对象及对象间通过方法来形成的联系构成。

  每种语言提供了不同的途径来访问对象,最初设计PHP的时候,甚至PHP3被开发出时,PHP并不打算提供开发超过10万行代码的大型项目的能力。随着PHP和Zend引擎的发展,开发大型项目变得有可能,但无论你的项目规模多大,用类来书写你的脚本将可以让代码实现重用。

  PHP5的对象模型把对象看成与任何其它数据类型不同,通过引用来传递. PHP不要求你通过引用(reference)显性传递和返回对象。

  在声明一个类的时候需要列出对象应有的所有变量和所有函数,这些变量和函数也被称为属性和方法。

  继承是类的一个强大功能。一个类(子类/派生类)可以继承另一类(父类/基类)的功。派生类将包含有基类的所有属性和方法,并可以在派生类中加上其他属性和方法。

  PHP5中的对象模型通过引用来调用对象, 但有时你可能想建立一个对象的副本,并希望原来的对象的改变不影响到副本。为了这样的目的,PHP定义了一个特殊的方法,称为__clone。

  一个对象实例的属性是变量,就像PHP的其他变量一样。但是你必须使用->运算符来引用它们。不需要在属性前使用美元符$。

  类的静态成员与一般的类成员不同: 静态成员与对象的实例无关,只与类本身有关。他们用来实现类要封装的功能和数据,但不包括特定对象的功能和数据,静态成员包括静态方法和静态属性。

  PHP5的访问方式允许限制对类成员的访问。这是在PHP5中新增的功能,但在许多面向对象语言中都早已存在。有了访问方式,才能开发一个可靠的面向对象应用程序,并且构建可重用的面向对象类库。

  在计算机语言中有两种主要的绑定方式—静态绑定和动态绑定。静态绑定发生于数据结构和数据结构间,动态绑定则针对运行期产生的访问请求,只用到运行期的可用信息。

  面向对象程序通过类的分层结构构建起来,在单重继承语言如PHP中, 类的继承是树状的。

  PHP4中已经有了重载的语法来建立对于外部对象模型的映射,就像Java和COM那样. PHP5带来了强大的面向对象重载,允许程序员建立自定义的行为来访问属性和调用方法。

  串行化可以把变量包括对象,转化成连续bytes数据,你可以将串行化后的变量存在一个文件里或在网络上传输,然后再反串行化还原为原来的数据。

  当1997年夏天,发布的PHP3中没有计划要使PHP具备面向对象的能力,当时没有任何与类和对象有关的想法,PHP3是一个纯粹面向过程的语言。

  大家都知道,PHP是一种弱类型的语言。在使用变量前不需要定义,不需要声明变量的数据类型。这在编程中带来很多便利,但也带了一些隐患,特别当变量的类型变化时。

  * 网友发言均非本站立场,本站不在评论栏推荐任何网店、经销商,谨防上当受骗!

  Win10系统在Win8的基础上对界面、特性以及跨平台方面做了诸多优化。[详细]

  三星Galaxy S10+跑分首曝,也是Exynos9820首秀,安兔兔超32.5万

  国产AI服务器的“变形金刚”曙光XMachine如何“炼成十八般武艺”

  经济环保 Brother DCP-B7530DN激光打印机售价2149元

  GTC China 2018:AMAX重磅推出类脑智能计算一体机联合解决方案

本文链接:http://robynlynne.com/duixiangmoxing/259.html
随机为您推荐歌词

联系我们 | 关于我们 | 网友投稿 | 版权声明 | 广告服务 | 站点统计 | 网站地图

版权声明:本站资源均来自互联网,如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

Copyright @ 2012-2013 织梦猫 版权所有  Powered by Dedecms 5.7
渝ICP备10013703号  

回顶部