python多继承构造方法(python类的继承)

技术Jython中单继承和多继承的示例分析这篇文章主要介绍Jython中单继承和多继承的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Jython的继承类继承的能力是面向对象编程的基础。J

本文主要介绍Jython中单继承和多继承的实例分析,非常详细,具有一定的参考价值。感兴趣的朋友一定要全部看完!

Jython的继承

类继承能力是面向对象编程的基础。Jython支持单继承和多继承。单一继承意味着只有一个父类,多重继承意味着可以有多个父类。

继承是通过派生其他类来实现的。这些类可以是其他Jython类或Java类。您可以从任意数量的纯Jython类或Java实例中派生,但是您只能(直接或间接)继承一个Java类。不需要父类。

父类中的所有属性或方法都存在于所有子类中,并且可以由类本身或所有客户使用(假设它是一个公共变量)。只要可以使用父类的实例,子类的所有实例都可以使用——下面是多态性的一个例子。这些功能使得重用、快速开发和轻松扩展成为可能。

以下是一些继承的例子:

class 1: pass # no inheritance class 2: pass class 3(class 1): pass # single inheritance class 4(class 3,class 2): pass # multipleinheritance from javaimportwtfrom javaimportio # inheritavaclasseandterfacandjythonclassmypanel(awt。面板,io。可序列化,类别2):Jython的继承——将类作为值使用

您也可以将类分配给变量(包括函数参数)。这使得编写基于类的动态代码变得非常容易,这可以从下面的泛型类实例工厂中看出:

define stance maker(xclass,*args):returnapply(xclass,args): x=instance maker(my class)# same as : x=my class()Jython的继承——带继承的 init 方法

子类的__init__方法必须调用由其父类定义的所有__init__方法,这不会自动发生。以下两个示例显示了如何使用带有继承的__init__方法。

class 1(super class): def _ _ init _ _(self): # noargumentsuper class。_ _ init _ _(self)# initmysuper-class self . data=[]# setimplicitdataclass 2(SuperClass): def _ _ init _ _(self,v1,v2): # 2 requiredargumentsnbsp

;       SuperClass.__init__(self, v1) # init my super-class with v1        self.v2 = v2

下面是一些带多继承的初始化的例子:

class Class1(Super1, Super2):      def __init__ (self):             # no arguments        Super1.__init__(self)          # init each super-class        Super2.__init__(self)        self.data = []                 # set implicit data   class Class2(Super1, Super2):      def __init__ (self, v1, v2, v3): # 3 required arguments        # note you may do work before calling the super __init__ methods        self.v3 = v3                   # set data from parameter        Super1.__init__(self, v1)      # init each super-class        Super2.__init__(self, v2)

Jython的继承——调用父类方法

可以使用类名限定调用所有父类方法,如下所示:

class Class1:      def method1 (self):         :   class Class2(Class1):      def method1 (self): # override method1        :        Class1.method1(self) # call my super-class method        :       def method2 (self):         :   class Class3(Class2):      def method1 (self): # override method1        :        Class2.method1(self) # call my super-class method        :       def method3 (self):         :

注意,次要的方法定义(在 Class2 和 Class3 中)覆盖了父类定义。不要求子类方法调用其父类方法,不过,如果它不这样做,那么它就必须完整地替换父类方法的函数。

Jython的继承——调用方法

有两种调用方法的语法(假定有一个由变量 mci 引用的 MyClass 实例):

mci.someMethod(...)   MyClass.someMethod(mci, ...)

***种形式通常用于类客户编码中,而第二种形式更常用于在子类中调用父类方法。

以上是“Jython中单继承和多继承的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/150506.html

(0)

相关推荐

  • windows平台bugfree3.0.3搭建心得是什么

    技术windows平台bugfree3.0.3搭建心得是什么windows平台bugfree3.0.3搭建心得是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易

    攻略 2021年10月25日
  • 一窝小狗哪只最聪明,一窝中最小的狗狗智力怎么样

    技术一窝小狗哪只最聪明,一窝中最小的狗狗智力怎么样1一窝小狗哪只最聪明、最小智力最好,因为最小的是最晚出生,所以优良基因是最多,越早出生,优良基因越少
    2、大多数的智力高的动物,都是最晚出生的。
    1、介绍:狗,亦称“犬”

    生活 2021年10月24日
  • 牙齿英语,翻译几个有关牙齿的单词

    技术牙齿英语,翻译几个有关牙齿的单词teethn.齿牙齿英语;牙( tooth的名词复数 );齿状部份;致力于( 有难度的事);tooth的复数形式;(组织、法律等)强大有效;不顾危险(或反对等)toothn.齿;牙;齿

    生活 2021年10月22日
  • 繁体字游戏名,带诗意的5字游戏名繁体

    技术繁体字游戏名,带诗意的5字游戏名繁体感性的世界繁体字游戏名、何须叹离别、欠我旳太哆、
    情留一点痴、
    五个字名字、
    如果爱忘了、
    陌生的你我、
    初吻给了烟、
    纯白色衬衫、
    我歌月徘徊、
    下一瓶芬达、
    芯痛,谁会疼、

    生活 2021年10月19日
  • 唐僧性格,唐僧的人物性格,300字

    技术唐僧性格,唐僧的人物性格,300字唐 僧唐僧性格:俗家姓陈,乳名江流,法名玄奘,唐朝第一高僧,所以被人们称为唐僧。西行取经时,唐朝太宗皇帝李世民赐法名三藏。唐僧十八岁出家皈依佛门,经常青灯夜读,对佛家经典研修不断,而

    生活 2021年10月26日
  • Python解释器种类以及特点是什么

    技术Python解释器种类以及特点是什么这篇文章将为大家详细讲解有关Python解释器种类以及特点是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。python解释器是

    攻略 2021年12月4日