66-面向对象开篇

原创 2016年04月27日 13:23:20

66-面向对象开篇

面向对象是一种编程范式,它将对象作为程序的基本单元,将程序和数据封装起来, 以此来提高程序的重用性、灵活性和可扩展性。

目前很多语言都支持面向对象编程,既然对象对象是一种范式,其实这就和具体的编程语言没有直接关系, 只不过很多语言将这个范式作为语言的基本元素,使用C语言也能够进行面向对象编程。

面向对象的程序设计中包含:

  1. 类。类是具体事物的抽象。通常类定义了事物的属性和所能完成的工作。有一点需要注意, 并不是所有的面向对象编程语言的类都具有class这个明确的实体。例如Javascript就不是基于类的。 Javascript中的类(Function)也具有类定义的特性。这也印证了面向对象只是一种编程范式。
  2. 对象。对象是类的实例。对象是具体的。
  3. 方法。方法是类定义对象可以做的事情。
  4. 继承性。继承是类的具体化,子类是比具备更多特性和行为的类。面向对象是对现实世界的一个抽象。 在很多时候的关系并不一定是继承关系。能在一定程序上实现代码的重用。
  5. 封装性、抽象性。封装性能实现的复杂性隐藏,减少出错的可能。

从我们接触PHP开始,我们最先遇到的是函数:数组操作函数,字符串操作函数,文件操作函数等等。 这些函数是我们使用PHP的基础,也是PHP自出生就支持的面向过程编程。面向过程将一个个功能封装, 以一种模块化的思想解决问题。

面向对象听起来很美,但是现实中的编程语言中很少有纯粹的面向对象的语言, 处于性能或者程序员的开发习惯,通常的编程语言都同时支持两种变编程方式。

PHP就是如此,从PHP4起开始支持面向对象编程。但PHP4的面向对象支持不太完善。 从PHP5起,PHP引入了新的对象模型(Object Model),增加了许多新特性,包括访问控制、 抽象类和final类、类方法、魔术方法、接口、对象克隆和类型提示等。 并且在近期发布的PHP5.3版本中,针对面向对象编程增加了命名空间、延迟静态绑定(Late Static Binding) 以及增加了两个魔术方法__callStatic()和__invoke()。

PHP中对象是按引用传递的,即对象进行赋值和操作的时候是按引用(reference)传递的,而不是整个对象的拷贝。

这一章我们从面向对象讲起,会说到PHP中的类,包括类的定义和实现、接口、抽象类以及与类相关的访问控制、 对象和命名空间等。除此之外也会从其存储的内部结构,类的单继承的实现,接口的多继承, 以及魔法方法的实现等细微处着手分析类相关的方方面面。

相关文章推荐

学习笔记之开篇【面向对象技术】

开篇 从写这篇文章开始,也是想写一些自己的感受,以及学了什么。留着给以后可以自己拿来看看。 上上个星期,老师讲了面向对象OOP技术,最常说的就是3W1H,可是,在课堂上抽象的概念,听的我一直很想睡...

面向对象设计原则、模式开篇

记得毕业后刚上班不久,一个同学打电话给我求救,说他正在做笔试题,要写几个常见的Design Pattern,然后问我什么是Design Pattern,叫我赶紧告诉他几个。身为菜鸟的我,要能回答如此问...
  • jjunjoe
  • jjunjoe
  • 2011年07月19日 17:36
  • 579

C#编程语言与面向对象基础教程

  • 2017年11月21日 21:36
  • 1.15MB
  • 下载

(66)ArrayList练习:自定义对象存入ArrayList,去除重复元素。迭代器指针移动解释

如题

nwpu面向对象实验1

  • 2017年11月15日 22:58
  • 23KB
  • 下载

打飞机游戏_JAVA_面向对象

  • 2017年11月21日 10:31
  • 43KB
  • 下载

JAVASE基础-day06(面向对象)

06.01_面向对象(面向对象思想概述)(了解) A:面向过程思想概述 第一步 第二步 B:面向对象思想概述 找对象(第一步,第二步) C:举例 买煎饼果子 洗衣服 D:面向对象思想特点 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:66-面向对象开篇
举报原因:
原因补充:

(最多只允许输入30个字)