面向对象程序设计:(英语:Object-oriented programming,缩写:OOP)是种具有对象概念的程序编程范型,同时也是一种程序开发的方法。它可能包含数据、属性、代码与方法。对象则指的是类的实例。它将对象作为程序的基本单元,将程序和数据封装其中,以提高软件的重用性、灵活性和扩展性,对象里的程序可以访问及经常修改对象相关连的数据。在面向对象程序编程里,计算机程序会被设计成彼此相关的对象。面向对象程序设计可以看作一种在程序中包含各种独立而又互相调用的对象的思想
当我们提到面向对象的时候,它不仅指一种程序设计方法。它更多意义上是一种程序开发方式。Java跟C#是目前最流行的两门面向对象语言。
面向对象编程具有以下优点:
易维护
采用面向对象思想设计的结构,可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的。
易扩展
通过继承,我们可以大幅减少多余的代码,并扩展现有代码的用途;
我们可以在标准的模块上(这里所谓的”标准”指程序员之间彼此达成的协议)构建我们的程序,而不必一切从头开始。这可以减少软件开发时间并提高生产效率;
模块化
封装可以定义对象的属性和方法的访问级别,通过不同的访问修饰符对外暴露安全的接口,防止内部数据在不安全的情况下被修改。这样可以使程序具备更高的模块化程度,方便后期的维护和修改。
同时,面向对象语言允许一个对象的多个实例同时存在,而且彼此之间不会相互干扰;
方便建模
虽然面向对象语言中的对象与现实生活中的对象并不是同个概念,但很多时候,往往可以使用现实生活中对象的概念抽象后稍作修改来进行建模,这大大方便了建模的过程。(但直接使用现实中的对象来建模有时会适得其反)。
把问题分解成各个对象,描述各个对象的属性和行为,通过对象的相互作用来解决问题。
对象 = 算法 + 数据结构
程序 = 对象s + 消息
(消息的作用就是对对象的控制)
面向对象程序设计方法一般步骤:
定义类 –> 创建对象 –> 向对象发送消息,使对象行动起来
基本概念 系统的特性
基类 | 抽象性
对象 | 封装性
消息 | 继承性
方法 | 多态性