面向对象是什么?
以下是维基百科对面向对象的解释:
面向对象程序设计(Object-Oriented Programming,OOP)是一种程序设计范型,同时也是一种程序开发方法、它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和可扩展性。
面向过程、面向对象以及函数式编程被人们称为编程语言中的三大范式(实际上,面向过程与面向对象都同属于命令式编程),是三种不同编码和设计风格。其中面向对象的核心思想是对象、封装、可重用性和可扩展性。
面向对象的“形”与“本”
类是对象的抽象组织,对象是类的具体存在。
- 类定义了一系列的属性和方法,并提供了实际的操作细节,这些方法可以用来对属性进行加工。
- 对象含有类属性的具体值,这就是类的实例化。这是由于属性的不同,才能区分不同的对象。
- 类与对象的关系类似一种服务与被服务、加工与被加工的关系。只需要在对象上调用类中所存在的方法,就可以对类的属性进行加工,并且展示其功能。
类是属性和方法的集合,那么在PHP中,对象是什么?比较普遍的说法就是“对象由属性和方法组成”。对象是由属性组成。
对象和类的概念以及二者之间的关系:
- 类是定义一系列属性和操作的模板,而对象则把属性进行具体化,然后交给类处理。
- 对象就是数据,对象本身不包含方法。但是对象有一个“指针”指向一个类,这个类里可以有方法。
- 方法描述不同属性所导致的不同表现。
- 类和对象不可分割,有对象就必定有一个类和其对应,否则这个对象也就没有意义了。