python学习笔记14——面向对象

对象和类

对象
对象是人们要研究的任何事物,从最简单的整数到复杂的飞机等均可以看作对象,它不仅能表示具体的事物,还可以表示抽象的规则,计划或事件。

具有相同特性(数据元素)和行为(功能)的对象的抽象就是类。因此,对象的抽象是类,类的具体化就是对象,也可以说类的实例是对象,类实际上就是一种数据类型
面向对象的核心是类和对象。
类包含类名,属性和方法。
1.类名 :这类事物的名字,满足大驼峰命名法
2.属性:这个类创建出的对象有什么特征
3.方法:这个类创建出的对象有什么行为
python学习笔记14——面向对象
定义一个简单的类和对象。self:哪一个对象调用的方法,self就是哪一个对象的引用,使用 .属性名 利用赋值语句就可以在类的外部

构造函数

用于初始化类的内容部状态,Python提供的构造函数式 __init__();也就是当该类被实例化的时候就会执行该函数,那么我们就可以把要先初始化的属性放到这个函数里面。
python学习笔记14——面向对象
使用这个类时,可以把参数传入初始化函数__init__,这样可以按照我们自己的需求定义输出。

str方法

python学习笔记14——面向对象

使用__str__方法可以返回字符。

封装

封装就是将属性和方法封装到一个抽象的类中,外界使用类创建对象,对象调用方法,对象方法的细节都被封装在类的内部。
例:
python学习笔记14——面向对象
将吃和跑步封装到一个类中。

继承

继承的目的是实现代码的重用,相同的代码不需要重复写。
python学习笔记14——面向对象
第二个类继承了第一个类的功能,第二个类称为子类,第一个类称为父类。子类继承自父类,可以直接享受父类中已经封装好的方法。子类重应该根据职责,封装子类特有的属性和方法。
python学习笔记14——面向对象
此外,继承具有传递性,子类拥有父类的父类的属性和方法,这里我重新定义类一个类Food。
python学习笔记14——面向对象
如果子类重写了父类的方法,在运行时只会调用子类的方法而不会调用父类的方法。