面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构。OOP 的一条基本原则是计算机程序是由单个可以起到子程序做用的单元或对象组合而成。
核心思想:封装,继承,多态.
OOP 达到了软件工程的三个主要目标:重用性、灵活性和扩展性。为了实现总体运算,每一个对象都可以接收信息、处理数据和向其它对象发送信息。
OOP 主要有如下的概念和组件:
组件 - 数据和功能一块儿在运行着的计算机程序中造成的单元,组件在 OOP 计算机程序中是模块和结构化的基础。
抽象性 - 程序有能力忽略正在处理中信息的某些方面,即对信息主要方面关注的能力。
封装 - 也叫作信息封装:确保组件不会以不可预期的方式改变其它组件的内部状态;只有在那些提供了内部状态改变方法的组件中,才能够访问其内部状态。每类组件都提供了一个与其它组件联系的接口,并规定了其它组件进行调用的方法。
多态性 - 组件的引用和类集会涉及到其它许多不一样类型的组件,并且引用组件所产生的结果得依据实际调用的类型。
继承性 - 容许在现存的组件基础上建立子类组件,这统一并加强了多态性和封装性。典型地来讲就是用类来对组件进行分组,并且还能够定义新类为现存的类的扩展,这样就能够将类组织成树形或网状结构,这体现了动做的通用性。
因为抽象性、封装性、重用性以及便于使用等方面的缘由,以组件为基础的编程在脚本语言中已经变得特别流行,Java语言的出现使其oop思想可谓是发扬光大。Python 和 Ruby 是最近才出现的语言,在开发时彻底采用了 OOP 的思想,而流行的 Perl 脚本语言从版本5开始也慢慢地加入了新的面向对象的功能组件。用组件代替“现实”上的实体成为 JavaScript(ECMAScript) 得以流行的缘由,有论证代表对组件进行适当的组合就能够在英特网上代替 HTML 和 XML 的文档对象模型(DOM)。
编程