OOP-面向对象的编程思想

和同事这两天一直在讨论OOP思想,自己在这里进行一些简单的说明,纯属个人个人看法。

  ​OOP是面向对象的,这点毋庸置疑,那么OOP到底是什么呢?这是我们百度给我们的解释:OOP: Object Oriented Programming,面向对象的程序设计。所谓“对象”在显式支持面向对象的语言中,一般是指类在内存中装载的实例,具有相关的成员变量和成员函数(也称为:方法)。面向对象的程序设计完全不同于传统的面向过程程序设计,它大大地降低了软件开发的难度,使编程就像搭积木一样简单,是当今电脑编程的一股势不可挡的潮流。

在设计面向对象语言的时候总结就一句话:OOP允许我们根据问题来描述问题,而不是根据方案。

在百度给我们的解释中有“对象”这一个词,我来解释一下我的看法:每个对象都类似于一台小计算机,他们都有自己的状态,而且可要求他们进行特定的操作。

在面向对象语言中,Java是最具代表性的,Java语言的由来是根据Smalltalk这门语言的面向对象的原则而开发出来的,由此我们可以知道最纯粹的面向对象的程序设计方法是什么了:

(1)、所有的东西都是对象,可将对象想象成一种新型的变量,他保存着数据,但可要求他自己对自己进行操作,在理论上讲,可从要解决的问题身上提出所有概念性的组件,然后在程序中表达为一个对象。

(2)、程序是一大堆的对象的组合;通过消息传递 ,各对象知道自己该做什么,​​为了向对象发出请求,需向那个对象“发送一条请求”,更加具体的形容,消息就是调用的请求,它调用的是从属于目标对象的一个子例程或函数。

(3)、每个对象都有自己的存储空间,​并且可容纳其他对象或者说通过封装现有的对象,可制作出新的对象,所以,尽管对象的概念非常简单,但在程序中却可达到任意高的复杂程度。

(4)、​每个对象都有一种类型,根据语法每个对象都是某个“类”的一个“实例”,一个类最重要的特征就是“能将什么样的信息发给他”。

(5)、同一类所有的对象都能就收相同的消息。

通过以上这几点,其实就已经体现了,面向对象的三大特性:封装、继承、多态。​

组件 - 数据和功能一起在运行着的计算机程序中形成的单元,组件在 OOP 计算机程序中是模块和结构化的基础。

封装 : 也叫做信息封装:确保组件不会以不可预期的方式改变其它组件的内部状态;只有在那些提供了内部状态改变方法的组件中,才可以访问其内部状态。每类组件都提供了一个与其它组件联系的接口,并规定了其它组件进行调用的方法。

​继承:允许在现存的组件基础上创建子类组件,这统一并增强了多态性和封装性。典型地来说就是用类来对组件进行分组,而且还可以定义新类为现存的类的扩展,这样就可以将类组织成树形或网状结构,这体现了动作的通用性。

多态:组件的引用和类集会涉及到其它许多不同类型的组件,而且引用组件所产生的结果依据实际调用的类型。

通过上面的五大面向对象语言的设计原则,这面向对象语言的三大特性相结合,我们基本就可以了解到OOP的核心思想了:

总结:将数据及对数据的操作行为放在一起,作为一个相互依存、不可分割的整体——对象。对于相同类型的对象进行分类、抽象后,得出共同的特征而形成了类。面向对象编程就是定义这些类。类是描述相同类型的对象集合。类定义好之后将作为数据类型用于创建类的对象。程序的执行表现为一组对象之间的交互通信。​

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值