面向对象
三大特征:封装 继承 多态
面向过程:根据业务逻辑从上到下写代码
面向对象:将数据与函数绑定到一起,进行封装,这样能够更快的开发程序,减少了重复代码的重写功能
定义:按人们认识客观世界的系统思维方式,采用基于对象的概念建立模型,模拟客观世界分析,设计实现软件的办法。面向对象编程是一种解决软件复用的设计和编程方法。
类和对象
定义:
类是抽象的,在使用的时候通常会找到这个类的一个具体的存在,使用这个具体的存在。一个类可以找到多个对象。
对象时某一个具体事物的存在,在现实世界中可以时看得见摸得着的,可以是直接使用的。
类的构成
1.类的名称:类名
2.类的属性:一组数据
3.类的方法:允许对进行操作的方法 (行为)
定义类
class 类名()
创建对象
对象名 = 类名()
对象是有属性和方法组成的,在实际环境中也就是对象本身的变量和函数
init方法
魔法方法
打印ID:print('内存地址,id(对象)')
定义一个str()方法:当使用print输出对象时,只要自己定义看str(self)的方法,那么就会打印从这个方法中return的数据
self
烤地瓜
运行之后:
保护对象的属性
如果有一个对象,当需要对其进行修改属性时,有2种方法
1.对象名.属性名 = 数据 ---->直接修改
2.对象名.方法名() ---->间接修改
Python中没有像C++中public和private这些关键字来区别公有属性和私有属性。
del()方法
创建对象后,python解释器默认调用init()方法;
当删除一个对象时,python解释器也会默认调用一个方法,这个方法为del()方法
单继承
1.虽然子类没有定义init方法,但是父类有,所以在子类继承父类的时候这个方法就被继承了,所以只要创建Bosi的对象,就默认执行了那个继承过来的init方法
2.子类在继承的时候,在定义类时,小括号()中为父类的名字
3.父类的属性、方法,会被继承给子类
多继承
1.所谓多继承,即子类有多个父类,并且具有它们的特征
2.python中是可以多继承的
3.父类中的方法、属性,子类会继承