学习地址:
撩课-Python大数据+人工智能1
撩课-Python大数据+人工智能2
撩课-Python大数据+人工智能3
撩课-Python大数据+人工智能4
撩课-Python大数据+人工智能5
撩课-Python大数据+人工智能6
撩课-Python-GUI编程-PyQt5
1.基本理论
1).什么是对象?
万物皆对象
对象是具体物体
拥有属性
拥有行为
把很多零散的东西, 封装成为一个整体
举例:
王二小
属性
姓名
年龄
身高
体重
...
行为
走路
吃饭
放羊
...
2).Python中的体现
Python是一门特别彻底的面向对象编程(OOP)的语言
其他语言
基本数据类型
int
0
float
0.1
bool
True
Flase
...
对象类型
String
"xxx"
Array
[1, 2, 3]
...
Python
对象类型
int
0
float
0.1
bool
True
list
[1, 2, 3]
...
面向过程&面向对象
都是一种解决问题的思路(思想)
面向过程
在解决问题的时候,关注的是解决问题的每一个的过程(步骤)
面向对象
在解决问题的时候,关注的是解决问题所需要的对象.
举个栗子
做好饭之后洗碗
面向过程
你
洗菜
点火倒油
放菜,材料
翻炒
盛出
放水
放碗
倒洗洁精
开始刷
擦干水
摆放好
面向对象
你
对象
技能1: 做饭
洗菜
点火倒油
放菜,材料
翻炒
盛出
技能2:洗碗
放水
放碗
倒洗洁精
开始刷
擦干水
摆放好
你
对象
技能1: 做饭
放菜,材料
自动炒菜机
搅拌
翻炒
监测火候
盛出
技能2:洗碗
放水/放碗
自动洗碗机
倒洗洁精
开始刷
擦干水
摆放好
对比
面向对象和面向过程都是解决问题的一种方式(思想)
面向对象本身是对面向过程的封装.
面向过程编程最重要的是什么?
按照步骤划分
把一个任务,分解成具体的每一个步骤
面向对象编程最重要的什么?
按照功对象能进行划分
找到对象, 确定对象属性和行为
如何从面向过程编程的思想,过渡到面向对象编程?
1. 一样的,列举出一个任务的具体实现步骤
2. 试图分离这些实现步骤中的功能代码块
3. 将这些功能代码块,划分到某一个对象中
4. 根据这个对象以及对应的行为,抽象出对应的类
设计类
类
3).什么是类?
某一个具体对象特征的抽象
例如:
张三这个具体的人
属性
年龄:18
身高:180
体重:250
...
行为
吃:吧唧嘴
喝:放白糖
嫖:不给钱
赌:没赢过
...
抽象出来的类
不良青年
属性
年龄
身高
体重
...
行为
吃
喝
嫖
赌
...
4).类的作用?
根据抽象的类,生产具体的对象
例如
类
不良青年
属性
年龄
身高
体重
...
行为
吃
喝
嫖
赌
...
对象
张三
不同的身高,体重等属性
不同的行为
李四
不同的身高,体重等属性
不同的行为
王五
不同的身高,体重等属性
不同的行为
类的组成
名称
属性
方法
一定要注意
以上属性和方法,都是抽象的概念
在产生对象之后,对象才拥有具体的属性值,和方法实现
列举生活中的类
1
类
钱
对象
具体的1毛的,5毛的,1块的,5块的...
2
类
熊类
对象
熊大,熊二...
3
类
汽车
对象
奥拓, 奥迪, 马自达 ..
...
对象和类的关系
对象
抽象
类
实例化
对象
网友评论