六、面向对象#
1. 面向对象和面向过程思想#
面向对象和面向过程都是一种编程思想,就是解决问题的思路
- 面向对象:OOP(Object Oriented Programming)
常见的面向对象语言包括:java c++ go python koltin
- 面向过程:POP(Process Oriented Programming)
面向过程语言代表是c语言
我们看同一个问题,面向过程和面向对象是怎么解决的?
中午想吃西红柿炒鸡蛋怎么办呢?
面向过程思想
面向过程解决问题必须要知道完成这个功能每一步的操作
- 面向过程思想,强调的是过程(动作)
- 而完成这个功能我们充当的角色是执行者的角色
面向对象思想
同样是中午想吃西红柿炒鸡蛋,
直接到饿了么上下个单,老板就把西红柿炒鸡蛋做好送过来了
餐馆老板具备做西红柿炒鸡蛋的功能,直接调用他的功能即可,不需要知道具体的流程
- 面向对象思想:不再关注具体的过程
- 功能里面充当的角色是指挥者的角色
面向过程和面向对象的总结
面向对象,强调的是对象(实体)
面向对象是一种思想,更加符合人的思维习惯
面向对象使复杂的问题简单化了
面向对象的出现,让曾经在过程中的执行者,编程了对象中的指挥者
2. 类和对象#
类和对象是面向对象非常重要的概念
- 类是描述了一种类型(相当于图纸)
- 对象是这个类型的具体实现(相当于图纸具体实现)
1 2 |
|
狗是一个类型,属于类
旺财是狗的实现,属于对象
定义类和创建对象
类的定义格式:
1 2 |
|
创建对象
1 |
|
代码演示:
1 2 3 4 5 |
|
3. 类的组成#
类可以描述世间万物
类都需要有类名,也应该具备一些静态属性和动态的行为
- 类的关键字:class
- 类的名称:类名
- 类的属性:一组数据
- 类的方法:允许进行操作的方法(行为)
人Person类应该具备什么属性和行为呢?
属性:姓名(name) 、年纪(age)
方法:跑(run)、说话(say)
方法的定义#
成员方法的定义格式为:
def 函数名(self)
1 2 3 4 5 6 7 8 9 10 11 12 |
|
注意:
成员方法有都有参数self,调用的时候不需要传递self
成员属性#
成员属性的定义需要在__init__方法下定义
格式:
def __init__(self):
self.属性 = 属性值
1 2 3 4 5 6 7 8 9 10 11 |
|