类的简介
面向对象对象编程有三大特性,、和,这在类中都有很好的体现。
,主要的好处就是继承,通过定义一个类,可以将其他对象的方法继承,同时还可以在自定义的类中声明或创建新的方法。换句话说,类就是一个模板,模板里定义了许多函数或方法,对象则是根据模板创建的应用实例,其可以将类中的函数或方法转化为自身的属性并可以被调用。
类通过对象实例化来使用,步骤是定义一个变量,通过类似于函数的使用创建实例,如先创建实例x=class(),然后调用类中定义的属性/方法x.fun()。
类的封装
在通过类创建对象是,可以直接指定参数,这些被指定的参数就会被封装到创建的对象中,可以在后续被调用,如下面介绍的初始化函数__init__。
上述代码中,通过Test()创建了两个对象,test_1和test_2, 并且通过类内部的初始化函数实现了简单的封装,封装之后的变量参数可以再后续进行调用,代码如下
类的继承
在通过类创建对象时,新对象会获得来源对象所有的方法,可以直接被调用,这种属性就叫做。
下面的实例定义了一个的类,该类的作用是创建一个方法并添加到原有列表的属性中。由该类创建的列表具备了列表类型数据的所有方法,同时还拥有了一个独特的属性,用于删除列表的最大值。
以上就是一个类继承的实例,通过继承,获得了原有对象的所有属性;同时,在类中又可以自定义属性和方法,丰富对象的属性。
类的多态性
实际上python并不支持多态,但是可以实现多态的功能,其根本的一点就是**不同的子类中可以拥有相同的属性,该属性可以由父类继承,也可以自己定义,后续引用时会根据两种情况去引用不同的属性进行调用,实现多态。**个人理解的多态是在调用时,会根据自定义的情况去调用对应的属性值,调用时的方法是class.function(),也就是调用的属性和类型是一一对应的,所以具有继承关系的不同类之间调用相同的属性时不会冲突,以此实现多态
从上面代码可以看出,继承于alpha类的A、B三个子类都能够调用show()实现输出,子类中复写show()(A子类)时输出的是复写后的数据,未定义时输出的是alpha类的结果;类C自己定义了show()属性,所以也能输出,并且的是自己定义的show(),而不是来自于alpha类的;而对于类D,并没有定义show()属性,也不是继承于alpha类,所以程序报错。
以上就是对类的三种属性进行的简要介绍,对于一些多重继承、变量作用域等,之后再分享给大家。
领取专属 10元无门槛券
私享最新 技术干货