您的位置:首页 > 编程语言 > Python开发

Python学习笔记(6)——OOP_1

2018-08-24 16:30 120 查看

一.什么是OOP

  • OOP(object-oriented programming) 就是常说的面向对象编程
  • 面向对象编程是一种编程思想,是一种观察问题的方式,并不是说语言是支持面向对象的语言(比如:C++,Java),写出来的程序就是面向对象的程序.

二.如何理解OOP

我当初学面向对象的时候真是一头雾水…什么是面向?是脸朝哪里吗?什么是对象?是女朋友吗?老师没有女朋友还能学吗?真是逼死我了.在工作了几年后的现在,我希望我能用简单且易于理解的话语,让正在看这篇文章的你明白什么是面向对象.

计算机的编程思想发展到现在一共经历了两个历程

  1. 面向过程编程
  2. 面向对象编程

先来解释下什么是面向,在我的理解中”面向”这个词在这里可以解释为”关注于”,英文就是focus on.
再来解释下过程和对象,过程就是一串有序的动作,对象则是发起动作的主体,类似于一句话中的主语或宾语,特点是都是名词.

这样一来,
面向过程就可以理解为:关注于动作的编程
面向对象就可以理解为:关注于事物主体的编程

我们来举个例子:
比如:我拿起一个苹果,递给一个可爱的小朋友,小朋友开心的笑了.

面向过程关注与动作:就是句子里的,拿,递,笑
面向对象关注于事物的主体:我,苹果,小朋友

这其实本质上是两种描述这个世界的方式,当事情比较简单的时候,其实面向过程编程更加方便.这也是为什么计算机编程最开始是从面向过程开始的.那个时候计算机运算能力低,遇到的需求也简单(太复杂的计算机也跑不动啊).

而随着科技的发展,计算机性能的飞速提高,程序员们发觉用面向过程的方式编程简直要疯!为什么?因为面向过程关注和描述的是一串有序的动作,关键:有序,有序,有序,重要的说三遍.这就导致了,前面改了什么东西后面很可能也要跟着修改,改动一个问题引出一串问题.比如上面的例子,如果我拿起的是一个橘子,那么到小朋友手上的也应该是橘子而不是苹果.总体概括下:面向过程编程其实所描绘的是一串有序的动作.

后来就有了面向对象编程,要注意这不是科技的飞跃,但却比某种重大科技突破更具有意义,这是程序员认知世界,用程序描述问题的一种飞跃.我们不再目光短浅的描述一件事情,而是开始用程序描述这个世界,而世界是由什么组成的呢?是一个个主体,所有的事情不就是一个个主题的互动所产生的吗?当我们将一类类主体赋予功能(函数),属性(数据)的时候,所有的问题也迎刃而解.

学习面向对象需要深刻理解其思想,当理解了其思想以后,你会发现那些语法是出现的多么理所当然,正应该是这样的,不这样才是不对的!

写了这么多希望对想要理解面向对象的同道中人能有所帮助,那样就真的太好了.

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: