Python合集之面向对象(五)

    在编写类时,并不是每次都要从空白开始,当要编写的类和另一个存在的类之间存在一定的继承关系时,就可以通过继承来达到代码重构的目的,提高开发效率。

1.继承的基本语法

继承是面向对象编程最重要的特性之一,他源于人们认识客官世界的过程,是自然界普遍存在的一种现象。在程序设计中,实现继承,表示这个类拥有他继承的类的所有共有成员或者受保护成员,在面向对象编程中,被继承的类称为父类,新的类称为子类或者派生类。

通过继承不仅可以实现代码的重用,还可以通过继承来理顺与类之间的关系,在Python中,可以在类的定义语句中,类名右侧使用一对小括号将要继承的基类名称括起来,从而实现类的继承,具体的语法格式如下:

class ClassName(baseclasslist):
    '''类的帮助信息'''
    statement
参数说明:
ClassName:用于指定类名
baseclasslist:用于指定要继承的基类,可以有多个,类名之间用逗号隔开,如果不指定,将使用所有Python对象的基类object。
'''类的帮助信息''':用于指定类的文档字符串,定义该字符串后,在创建类的对象时,输入类名和左侧的括号后,将显示该信息
statetmet:类体,主要由类变量,方法或者属性等定义语句组成,如果在定义类时,没想好类的具体功能,也可以在类体重直接使用pass语句代替。
class Fruit:
    color='绿色'
    def harvest(self,color):
        print("水果是:"+color+"")
        print("水果已经收获")
        print("水果原来是:"+Fruit.color+"")
class Apple(Fruit):
    color="红色"
    def __init__(self):
        print("我是苹果")
class Orange(Fruit):
    color="橙色"
    def __init__(self):
        print("我是橘子")
apple=Apple()
apple.harvest(apple.color)
orange=Orange()
orange.harvest(orange.color)        

2.方法重写

基类的成员都会被派生类继承,当基类中的某个方法不完全适用于派生类时,就需要在派生类中重写父类的这个方法。

在上面的例子中,基类定义了harvest()方法,无论派生类时什么水果,都显示“水果。。。”,如果想要针对不同水果给出不同的提示,可以在派生类中重写harveset()方法。

class Orange(Fruit):
    color="橙色"
    def __init__(self):
        print("我是橘子")
    def harvest(self,color):
        print("橘子是:"+color+"")
        print("水果已经收获")
        print("橘子原来是:"+Fruit.color+"")
      

花絮:

本期的Python 面向对象就分享到这里,下期我们将继续分享Python面向对象的相关知识,感兴趣的朋友可以关注我。

同时也可以关注下我的个人 微信订阅号,园子里面的文章也会第一时间在订阅号里面进行推送跟更新。

posted @ 2021-04-05 21:42  @睦  阅读(50)  评论(0编辑  收藏  举报