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)

相关推荐

  • openwrt调节摄像头参数(openwrt摄像头使用教程)

    技术OpenWRT如何实现网络摄像机这篇文章将为大家详细讲解有关OpenWRT如何实现网络摄像机,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。  买了一个微软 LifeCam HD-3

    攻略 2021年12月18日
  • 11.23 EF

    技术11.23 EF 11.23 EF一、EF框架
    a、EF框架:全称EntityFramework ,它微软提供的一种ORM工具,支持面向数据的软件应用程序的技术。ORM让开发人员节省数据库访问的代码

    礼包 2021年11月24日
  • Oracle的PGA与数据库连接建立的过程是什么

    技术Oracle的PGA与数据库连接建立的过程是什么本篇内容介绍了“Oracle的PGA与数据库连接建立的过程是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这

    攻略 2021年11月4日
  • 印第安人灭绝了吗,屠杀印第安人的刽子手是谁

    技术印第安人灭绝了吗,屠杀印第安人的刽子手是谁印第安人是美洲大陆的原住民,也可以称为土著,在航海时代被发现以后,他们的逍遥日子发生了改变,现在的北美印第安人已经很稀少,是原来人口的一个零头而已,印第安人的美洲大陆,在历史

    生活 2021年10月31日
  • openwrt设置远程管理(openwrt模式怎么设置)

    技术OpenWRT如何启用工作模式开关和联网小编给大家分享一下OpenWRT如何启用工作模式开关和联网,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧! 主要配置 rc.local 脚本,内容如下:r

    攻略 2021年12月18日
  • 怎么把照片缩小到10k,照片怎么改成10K左右大小

    技术怎么把照片缩小到10k,照片怎么改成10K左右大小把照片改成10K左右大小可以用美图秀秀修改怎么把照片缩小到10k,操作方法如下: 1、打开常用的浏览器,在浏览器搜索栏上输入“美图秀秀”,选着美图秀秀的官方链接。 2

    生活 2021年10月21日