面向对象(oop)Object Oriented Programming
类与对象
类是对象的一个集合,对象是类中的一个个实例
类的定义
class Hero(object):(这里定义了一个英雄类)
def _init _(self, 一些参数,逗号分隔):(init为固有属于,self指代自身)
def fight(self, 一些参数,逗号分隔):(类的一个方法, 可创建多个)
类的成员
1. 属性
2.方法
对象的创建(实例化)
Hero(“迪迦”,5, 6, “激光束”)(这里我们在英雄类里创建了一个迪迦的对象,并赋予了一些固有属性)
3.面向对象的三大特征
1. 封装
2. 继承
3. 多态
封装:
Python三种封装的写法:
1、常规写法
将属性私有写法: __属性名称
2、调用全局函数property,将set和get传递过去
对象.属性名称
3、使用annotation(注解)property来二次封装。(注意:此处存在一个伪重载)
继承(extend)
在有多个类的时候,我们的类可以指定一个或多个父类,指定别的类为父类,这个类是被指定类的子类,子类可以使用父类的属性和方法,减少了代码的编写。
函数的重载(overload)
函数名称相同,参数的个数或类型不同,通过一个同名函数和不同的参数,来区分需要调用的函数,从而来实现不同的功能
注意:Python没有函数重载,因为python为弱数据类型语言
函数的重写|覆盖(override)
说的是面向对象的继承中,子类继承了父类的方法,但是父类的方法不能满足子类的需求,
从而重新覆盖父类的方法的现象。在子类中出现与父类相同名称的函数时,子类会重写父类,父类本身不会改变。
多态
定义:父类引用指向子类实例的现象,叫做多态
注意:Python是弱数据语言,而弱数据类型语言天生支持多态