一、面向对象思想
1.案例
万物皆对象
在Python中,任何内容都是一个对象
num = 10
案例一:我中午想吃油泼面
面向过程【process,处理】 面向对象
1.买菜,买面 1.委托一个人帮忙买菜,买面
2.收拾 2.委托一个人收拾
3.做饭 3.委托一个会做饭的人做饭
4.吃饭 4.自己吃
案例二:小明是一个电脑小白,组装一台电脑,打游戏
面向过程 面向对象
1.小明补习电脑知识 1.小明委托一个懂电脑的人帮忙买零件
2.小明去买零件 2.小明委托一个快递将零件带回家里
3.小明把零件带回家里 3.小明委托一个动手能力强的人组装零件
4.小明组装电脑 4.小明打游戏
5.小明打游戏
案例三:一辆黑色的宝马在京藏高速上行驶
2.面向过程和面向对象的区别
2.1面向过程
在生活案例中:一种看待问题的方式,在解决问题的时候,侧重与问题是怎样一步一步解决的,然后亲力亲为的去解决
在编程中:
代码从上往下依次执行的
各模块之间的关系尽可能简单,在功能上相对独立
程序的流程在写程序的时候已经确定
程序员扮演的角色:执行者
2.2面向对象
在生活案例中:也是一种看待问题的方式,在解决问题的时候,侧重于找到一个具有特殊功能的实体【个体】,然后委托该个体去帮忙完成某件事情,该个体或者实体被称为对象
在编程中:
对同类对象进行抽取,形成类
类中的大多数数据,只能用本类中的方法处理
类通过一个简单的接口与外界产生联系,对象与对象之间进行通信
程序流程是由用户在使用的过程中决定的
程序员扮演的角色:指挥者
面向对象更符合人类的思想【懒人思想】,可以将复杂的问题简单化
使用面向对象的思想开发,先要找到具有特殊功能的对象,如果该对象不存在,则创建
注意:面向对象是一种思想,并不是一门编程语言
类和对象是面向对象的核心
二、类和对象
1.概念
类:一个具有特殊功能的实体的集合【群体】
对象:在一个类中,一个具有特殊功能的实体,能够帮忙完成某件事情。对象也被称为实例【instance】
两者之间的关系:类用于描述某一类对象的共同特征,而对象则是类的具体的存在【不严谨的说:包含关系】
类是抽象的模板,对象则是具体的存在
问题:先有对象还是先有类?
一般在程序中,都是先定义类,然后通过类创建对象
举例:
类 对象
人类 张三,杨阳。。。。
快递 具体的门店
帮助理解:类也是一种数据类型,只不过是自定义的,跟number,string等类似,通过类创建对象其实就是定义一个该类的变量
2.定义
语法:
class 类名():
类体
说明:
a.Python中使用关键字class定义类
b.类名:只要是一个合法的标识符即可,但是,尽量做到见名知意
要求:遵循大驼峰命名法则【第一单词的首字母大写】
c.():目前是空的,里面主要书写的是当前类的父类,()可以省略
d.通过缩进来区分类体的存在
e.类体一般包含两部分内容:对类的特征描述【名词】,对类的行为描述【动词】
#类的定义:类的声明和类的实现 class MyClass1(): #类的定义相当于函数的定义 pass #注意:在同一个py文件中可以同时定义多个类,但是,为了提高代码的可读性, # 结合模块的使用,一般要求一个py文件中定义一个类 class Myclass2(): pass #注意:如果将多个类定义在同一个文件中,尽量避免重名,类似于函数,后出现的会覆盖掉先出现的
3.设计类
三要素:
事物名称:类名,比如:人 【Person】
特征:属性【变量】,比如:身高,年龄,姓名等-----》名词
行为:函数,比如