面向对象
目录:
一、什么是对象
二、面向对象 (oop)
三、面向过程的编程语言
四、面向对象的编程语言
一、什么是对象
1、 定义
对象,英文名 object 。是内存中专门用来存储数据的一块区域。
对象中可以存放各种数据(比如:数字、布尔值、代码)。
类似于一个盒子里,或容器里,存放了一些东西,我们要用某样东西就从盒子里拿出来,这些盒子里的东西可以称作对象。
2、对象由三部分组成:
(1).对象的标识 ( id )
用一个变量保存对象时,保存的是对象的id,在CPython中id就是内存地址。一旦创建不可变
(2).对象的类型( type )
一旦创建不可变
(3).对象的值( value )
有些可变(列表、字典),有些不可变(数字、字符串)
二、面向对象 (oop)
Python 是一门面向对象的编程语言。
所谓的面向对象的语言,简单理解就是语言中的所有操作都是通过对象来进行的。
三、面向过程的编程语言
1、面向过程
面向过程指将我们的程序的逻辑分解为一个一个的步骤,通过对每个步骤的抽象,来完成程序。
例子: 孩子上学。(妈妈早上叫孩子起床上学的过程步骤)
-1.妈妈起床
-2.妈妈上厕所
-3.妈妈洗漱
-4.妈妈做早饭
-5.妈妈叫孩子起床
-6.孩子上厕所
-7.孩子要洗漱
-8.孩子吃饭
-9.孩子背着书包上学校
这个就是在面向“叫孩子起床上学的过程”的每一个步骤。步骤单一,可复用性低。
2、面向过程的编程思想
面向过程的编程思想是将一个功能分解为一个个小的步骤。
我们通过完成一个一个的小的步骤来完成一个程序。这种编程方式,符合我们人类的思维,编写起来相对比较简单。但是这种方式编写的代码往往只适用于一个功能 ,如果要在实现别的功能,即使功能相差极小,也往往要重新编写代码,所以它可复用性比较低,并且难于维护。
前边学过的函数能解决可复用性的问题。但是其他问题如:孩子放学、孩子上培训班等就需重新编写一个程序来实现。这样就比较繁杂。那么,我们面向对象的编程就能很好解决这样的问题。
四、面向对象的编程语言
面向对象的编程语言,关注的是对象,而不关注过程。对于面向对象的语言来说,一切都是对象。
例子: 孩子妈妈起床叫孩子上学。
面向对象的编程思想,将所有的功能统一保存到对应的对象中。比如,妈妈功能保存到妈妈的对象中,孩子的功能保存到孩子对象中要使用某个功能,直接找到对应的对象即可,这种方式编写的代码,比较容易阅读,并且比较易于维护,容易复用。
上边例子中:妈妈,孩子,起床,洗漱,吃饭等等的一系列名词、动词都可以作为对象,可分妈妈的功能,孩子的功能等存到对应的对象里边,通过调用对象功能,达到过程步骤完成。
这种方式面向对象的编写方式,不太符合常规的思维,编写起来稍微麻烦一点。
简单归纳一下,面向对象的思想:
(1).找对象
(2).搞对象(实现功能,计算)