python面向对象编程的理解
程序员文章站
2022-07-03 15:02:20
...
本文主要内容:
(1)面向对象的介绍
(2)对象名字的查找顺序
(3)对象绑定方法的特殊之处
(1)面向对象的介绍
什么是面向对象?
面向对象是一门编程思想!
- 面向过程编程思想:
核心是 “过程” 二字,过程指的是解决问题的步骤,即先干什么再干什么!
基于该编程思想编写程序,就好比在设计一条工厂流水线,一种机械式的思维方式。
优点:
将复杂的问题流程化,进而简单化
缺点:
牵一发而动全身,程序的可扩展性差。
注意: 编程思想仅仅是一门思想,与任何的技术无关。
- 面向对象编程思想:
注意: 要将自己当做一个上帝!!!
核心是 “对象” 二字,对象指的是 “特征与技能” 的结合体。
基于该编程思想编写程序,就好比在创造世界,一种 “上帝式” 的思维方式。
优点:
如果说一切皆对象,那么万物皆编程。
可扩展性强。
执行效率高。
缺点:
太抽象---编写程序的复杂程度比面向过程高。
2.如何产生对象:
1) 什么是类?
类指的是类型、类别。
- 在两种角度去看待:
- 现实世界中:
- 先有一个个的对象,经过社会的文明发展,随之总结出类。
举个例子,将对象分门别类。人---人类
对象是实际存在的,而类抽象产生的。
- 在程序中:
- 必须先有类,再通过“调用类,产生对象”。
对象指的是 “特征与技能” 的结合体,---王者荣耀里的刺客是对象,该对象具备爆发高的特点和技能冷却时间短。
类指的是一系列 “对象之间相同的特征与技能” 的结合体。---孙悟空,荆轲具备爆发高的特点和技能冷却时间短,角色列为刺客。
2) 如何定义类:
- 如何写类并产生对象:
- 先从现实世界中通过一个个对象总结出类。
- 然后再定义类,后调用类产生对象。
--- 调用类产生对象发生的事情:
1.会产生一个空对象的名称空间
2.会自动触发__init__,并且会将对象当做第一个参数传入。
3.会将调用类括号内的参数一并传给__init__().
(2)对象名字的查找顺序: 超级重点
1.对象.属性,会先找对象自己的。
2.若对象没有,会去找类的。
3.若类没有,则会报错。
(3)对象绑定方法的特殊之处:
1.会将对象名当做第一个参数传入类方法中的self。超级重点
2.若对象的绑定方法中还有其他参数,会一并传入。