Python面向对象的编程思想
- 两种面向思想:面向过程、面向对象
- Python的面向对象
- Python面向对象的三大特征
- 面向对象的编程设计
一、两种面向思想
- 面向过程:做一件事,从头到尾需要去重点关注每个细节和过程
- 面向对象:做一件事,用对象去做,不用关心细节过程 “万物皆可对象!”
二、Python的面向对象
- 类
描述一类事物,一个抽象的概念,如:人,家具,动物,水果
- 对象
是类的实例化表现,如:小红,小猴子,苹果
特征(属性)
功能行为(方法)
元类-->类-->对象
三、Python面向对象的三大特征
3.1、封装:将属性和方法封装到一个抽象类中
我们都是用类来实例化对象,再用对象来调用方法
所以对象方法和功能都存在类里面
3.2、继承:子类可以拥有父类的属性和方法
- 单继承
代码的传递性:子类可以使用父类的方法
- 多继承
一个子类可以继承多个父类
特点:子类拥有所有父类的属性方法
方法重写:
概念:在子类中书写和父类同名的方法
特点:在类中调用方法
如果在子类中找到,直接执行子类的方法
如果在子类中没有找到这个方法,就去父类中找,找到就调用父类中的方法
如果在父类中没找到,则报错
私有方法和属性:
语法:
def_函数名(self):
def_init_(self):
self._money="你们好欧"
特点:
不允许外界访问,只能自己使用
如果外界一定要访问,那么需要提供一个公共的方法,访问私有属性
(如何访问私有化我放在day1.3单一总结)
3.3、多态:一个对象的多种形态(一父多子)
作用:增强代码的灵活性、提高代码的扩展性
条件:继承、方法的重写
四、面向对象的编程设计
继承体系设计 做什么类 有什么属性 封装到什么方法中去
如:人 车门 开关车门 把开关车门的方法封装到谁的类中?
谁拥有数据谁就有操作数据的权利
- 如果封装到车门的类中,那么人就相当于一个main方法
调用时:拿到车门对象,调用车门的开关门方法即可
- 如果封装到人的类中,那么车门就相当于一个main方法
调用时:拿到人对象,调用人的开关门方法即可