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)

相关推荐

  • 华夏文明的三大发源地,中国最早的历史发源于哪里

    技术华夏文明的三大发源地,中国最早的历史发源于哪里以下“中国”作现在中国国境线以内解,简单描绘一下考古学所勾勒出的图景华夏文明的三大发源地:1.从晚更新世之末到全新世之初,华北和长江中下游地区开始开始从狩猎采集向食物生产

    生活 2021年10月22日
  • C#如何实现Winform自动升级程序

    技术C#如何实现Winform自动升级程序这篇文章给大家分享的是有关C#如何实现Winform自动升级程序的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。开发第三方工具包新建一个WinForm项

    攻略 2021年12月1日
  • 分析Nodejs的Stream模块

    技术分析Nodejs的Stream模块这篇文章主要讲解了“分析Nodejs的Stream模块”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“分析Nodejs的Stream模

    攻略 2021年11月6日
  • 鸟的英语怎么说,bird英语的读法怎么

    技术鸟的英语怎么说,bird英语的读法怎么bird英语读音:英 [bɜːd] 美 [bɜːrd]鸟的英语怎么说;n. 鸟;家伙;羽毛球;vt. 向…喝倒彩;起哄;vi. 猎鸟;观察研究野鸟;词汇搭配;1、breed bi

    生活 2021年10月25日
  • 如何理解php中echo

    技术如何理解php中echo这篇文章主要介绍“如何理解php中echo”,在日常操作中,相信很多人在如何理解php中echo问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何理解php中e

    攻略 2021年10月22日
  • person复数,person有没有复数形式

    技术person复数,person有没有复数形式person的复数形式是peopleperson复数。person 英[ˈpɜ:sn] 美[ˈpɜ:rsn]n. 人; (语法) 人称; 身体; 容貌;[例句]At lea

    生活 2021年10月27日