• 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面向对象的相关知识,感兴趣的朋友可以关注我。

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

  • 相关阅读:
    【linux高级程序设计】(第八章)进程管理与程序开发 3
    【linux高级程序设计】(第八章)进程管理与程序开发 2
    【linux高级程序设计】(第八章)进程管理与程序开发 1
    【linux高级程序设计】(第七章)终端及串口编程 未完成
    【剑指offer】数值的整数次方
    【剑指offer】二进制中1的个数
    【剑指offer】替换空格
    Android 最新控件 Toolbar
    IE 扩展调用主窗体中的函数
    JAVA程序设计(12.3)---- 监听器0基础应用:五子棋
  • 原文地址:https://www.cnblogs.com/a-mumu/p/14619632.html
Copyright © 2020-2023  润新知