`
eric_hwp
  • 浏览: 120251 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

python对象的继承和重写

 
阅读更多
class Dog(Animal):
    def __init__(self,name):
        Animal.__init__(self,name)
    def bark(self):
        print self.name," can bark"

d = Dog("xiao li")
d.bark()

 

 上面定义了一个类Animal,它以class 关键字开头,类中的方法用def关键字开头,类中的init是类的构造方法,在生成实例的时候会自动调用,类中还定义了show方法,它用于打印实例的变量name,每个方法都带有参数self,它可以认为是当前的对象自身。

 

class Animal():
    def __init__(self,name):
        self.name = name
        print "this is super class",name
    def show(self):
        print self.name," is beautifull"

a = Animal("xiao zhang")
a.show()

上面的dog类继承自基类Animal,它的构造方法中调用了基类的构造方法Animal.__int__(); 这一点需要注意,python的派生类实例化对象时,并不会自动基类的构造方法。派生类对象会首先在本类查找init方法,如果找到就调用然后完成实例化,如果找不到,则会在基类中寻找init方法完成实例化。

 

python的多重继承

 

class base1():
    def __init__(self):
        print "call the class class1"
    def show(self):
        print "the method base1 show"
class base2():
    def __init__(self):
        print "call the class class2"
        
class base3(base1,base2):
    #def __init__(self):
        #base1.__init__(self)
        #base2.__init__(self)
        #print "call the class base3"
    pass
b1 = base1()
b2 = base2()
b3 = base3()
b3.show()

派生类在实例化时,首先查找本类中的构造方法,如果有则调用本类的构造方法,如果没有,则调用第一个调用基类的构造的方法,如上面的b1如果不定义构造方法,会调用base1的构造方法。除了构造方法外,其它方法的调用方式与此类似,如b1.show(),会调用base1中的show()方法。

分享到:
评论

相关推荐

    python继承类重写方法.docx

    python继承类重写方法 Python是一种面向对象的编程语言,它支持继承类重写方法。继承是一种重要的面向对象编程概念,它允许我们创建一个新类,该类继承了另一个类的属性和方法。重写方法是指在子类中重新定义父类中...

    python继承类重写方法(1).docx

    python继承类重写方法 Python是一种面向对象的编程语言,它支持继承类重写方法。继承是一种重要的面向对象编程概念,它允许我们创建一个新类,该类继承了另一个类的属性和方法。重写方法是指在子类中重新定义父类中...

    Python 继承,重写,super()调用父类方法操作示例

    主要介绍了Python 继承,重写,super()调用父类方法,结合完整实例形式详细分析了Python面向对象程序设计中子类继承与重写父类方法的相关操作技巧,需要的朋友可以参考下

    Python语言基础:类的继承.pptx

    继承性是面向对象编程的重要特性之一,是为代码复用和设计复用而设计的。自定义一个新类时可以继承一个已有或设计好的类然后进行二次开发,这会大幅度减少开发的工作量。 在继承关系中,已有的、设计好的类称为父类...

    Python零基础速成班-第9讲-Python面向对象编程(上),对象和类、初始化、继承、重写、多态、类方法、组合.ipynb

    本教程由专业老师设计,由浅入深,带你扎实学习Python知识,附带的课后练习题精心设计,作为学习后知识的巩固和提升。 本教程设置3级标题,对知识点进行分类,内容上由基础+进阶的方式呈现,练习题也设置了必做和...

    Python基础类继承重写实现原理解析

    1.继承 继承是面向对象三大特性之一 – 通过继承我们可以使用一个类获取到其他类中的属性和方法 – 在定义类时,可以在类名后的括号中指定当前类的父类...在Python中是支持多重继承的,也就是我们可以为一个类同时指

    python继承语法.docx

    python继承语法 Python继承语法 Python是一种面向对象的编程语言,支持继承。继承是一种重要的面向对象编程概念,它允许程序员创建一个新类,该类继承了现有类的属性和方法。这种继承关系可以形成一个类层次结构,...

    python 零基础学习篇面向对象编程继承6 子类重写父类同名属性和方法.mp4

    python 零基础学习篇

    python面向对象程序设计

    (2)分别定义继承抽象类Shape的3个子类即Triangle、Rectangle和Circle,在这3个子类中重写Shape中的方法getArea()和getPerimeter()。 (3)创建类Triangle、Rectangle、Circle的对象,对3个类中的方法进行调用测试...

    面向对象编程—-继承(Python版-案例详解)

    本篇是面向对象编程第二章—–继承特性详解,欢迎阅读学习,一起进步 Python专栏请参考:人生苦短-我学python 文章目录一.继承介绍二.单继承:子类只继承一个父类三.多继承:子类继承多个父类四.子类重写父类的...

    python面向对象day04.txt

    封装(类和私有变量) 继承 多态(python只能实现动态) issubclass(cls, 类或元组) 多继承 一个子类继承自两个或两个以上的父类 类的 __mro__ 属性绑定类的元组 用来记录方法的查找顺序 super 函数是按mro ...

    浅谈Python中的继承

    Python 中所有的类都是object类的子类,而object 继承自type 继承分为 接口继承和实现继承 接口继承:使用父类的接口名,子类重写这个方法。尽可能的继承接口类,在子类中实现方法,鼓励对接口类的多继承,这样遵循...

    Python-面向对象和内存分析 2.zip

    ================面向对象和内存分析================== 086.面向对象和面向过程的区别_执行者思维_设计者思维 087.对象的进化故事 088.类的定义_类和对象的关系 089.构造函数__init__ 090.实例属性_内存分析 091....

    Python实现通过继承覆盖方法示例

    主要介绍了Python实现通过继承覆盖方法,结合实例形式分析了Python面向对象程序设计中采用子类覆盖父类同名方法相关操作技巧,需要的朋友可以参考下

    Python面向对象之多态原理与用法案例分析

    本文实例讲述了Python面向对象之多态...以 继承 和 重写父类方法 为前提 是调用方法的技巧,不会影响到类的内部设计 多态案例演练 需求 1.在 Dog 类中封装方法 game 普通狗只是简单的玩耍 2.定义 XiaoTianDog 继承自

    核桃编程python课程体系.docx

    其次,核桃编程Python课程体系还涉及面向对象编程,包括类和对象的概念,以及如何创建、调用、继承和重写类和对象。学习者可以通过这些课程学习如何使用类和对象来构建更复杂的程序。例如,学习者可以学习如何使用...

    Python3入门指南_v2.4.pdf

    这是DS小龙哥编写整理的,Python3入门指南.pdf,总共10章,可以当做入门书籍、平时的参考书籍,文中代码都可以复制粘贴。后续资源包会持续更新。 这是书籍的目录 编辑: DS小龙哥 1 ...10.6 父类方法重写 159

    python 自定义对象的打印方法

    在python中,如果不重写自定义对象的__str__方法,打印出来的对象是一串类似于<__main__.Bean object at 0x1007da470>的字符串。这当然不是我们想要的结果。 于是:通过对__str__方法的重写,就可以返回我们想要...

    Python面向对象程序设计之继承、多态原理与用法详解

    本文实例讲述了Python面向对象程序设计之继承、多态原理与用法。分享给大家供大家参考,具体如下: 相关内容: 继承:多继承、super、__init__、重写父类变量或函数 多态 继承: 在Python3中,不写基类的类默认...

Global site tag (gtag.js) - Google Analytics