`
eric_hwp
  • 浏览: 126617 次
  • 性别: 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基础类继承重写实现原理解析

    在Python编程中,面向对象编程是一种重要的编程范式,其中类继承和方法重写是核心概念。本文将深入探讨Python基础类继承和重写实现的原理,以及它们在实际编程中的应用。 1. 继承(Inheritance) 继承允许我们创建...

    Python类成员继承重写的实现

    类成员的继承和重写是面向对象编程的核心概念,它们使得代码更加灵活且易于扩展。 **类成员的继承** 类继承允许一个类(子类)从另一个类(父类)继承特性。在Python中,我们使用`class`关键字后跟类名,并用冒号...

    python面向对象

    在Python中,面向对象有三大基本概念:类(Class)、对象(Object)和继承(Inheritance)。首先,类是对象的蓝图,定义了一组属性(数据成员)和方法(成员函数),这些属性和方法共同构成了对象的特征和行为。例如...

    Python子类继承父类构造函数详解

    在Python面向对象编程中,继承是一个非常重要的概念。通过继承,一个类(称为子类)可以从另一个类(称为父类或基类)继承属性和方法。继承不仅可以提高代码的复用性,还可以帮助开发者构建出更加灵活和可扩展的程序...

    python面向对象练习题.pdf

    - 在Python 3中,不再区分经典类和新式类,所有的类都被认为是新式类,并且默认继承自`object`类。 #### 八、面向对象优化代码示例 **原始代码:** ```python def exc1(host, port, db, charset, sql): conn = ...

    探索Python中的继承:构建强大的面向对象应用

    通过本文的探讨,我们了解到了Python中继承的实现方式,包括继承声明、方法重写、多重继承以及如何处理私有属性和方法。合理利用继承,可以使Python代码更加模块化和易于维护。 通过深入理解Python中的继承机制,...

    2014年度辛星python面向对象教程

    例如,在Python中,如果定义了一个`Animal`类和一个`Dog`类继承自`Animal`,那么`Dog`类就可以使用`Animal`类中定义的方法,除非在`Dog`类中对这些方法进行了重写(override)。 封装是面向对象编程的另一个核心...

    python继承和抽象类的实现方法

    在Python编程语言中,继承和抽象类是面向对象编程中的核心概念。继承允许我们创建一个新类(子类),该类具有另一个类(父类)的属性和方法,从而实现代码复用和类的分层结构。抽象类则是一种不能直接实例化的类,它...

    Python学习资料之继承

    在Python编程语言中,继承是面向对象编程的一个关键特性,它允许我们创建一个新类(子类),这个新类能够从已存在的类(父类)中继承属性和方法。这样的设计模式有助于代码重用,提高模块化,并使程序结构更加清晰。...

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

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

    Python 面向对象编程

    面向对象编程(OOP)的核心理念是封装、继承和多态,这些概念在Python中得到了很好的实现。 1. **类的定义** 在Python中,类是一个模板,用于创建具有相同属性和行为的对象。定义类使用`class`关键字,后跟类名,...

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

    Python是面向对象编程(OOP)的一门流行语言,继承、重写、以及super()函数的使用是OOP中的重要组成部分。掌握这些概念对于编写灵活、可维护的代码至关重要。 继承是面向对象编程中的一种机制,允许创建一个新类...

    Python 面向对象编程指南 new

    在Python的世界里,面向对象编程(Object-Oriented Programming, OOP)是核心编程范式之一,它允许我们将复杂的问题拆解为一系列可复用的对象,极大地提高了代码的可维护性和可扩展性。《Python面向对象编程指南》这...

    Python面向对象编程基础:类、继承、封装、多态和抽象的应用

    通过多个示例代码,解释了如何定义类、创建对象、实现继承、重写方法、使用多态以及封装和抽象类的具体应用。此外,还介绍了静态方法、类方法和属性装饰器等高级特性,帮助读者全面理解面向对象编程在Python中的实际...

    python全套课程继承与多态

    在"python全套课程继承与多态"这个主题中,我们将深入探讨Python中的面向对象编程(OOP)概念,尤其是继承与多态。面向对象编程是Python中一个核心的概念,它允许我们创建可重用的代码结构,使得软件开发更为高效。 ...

    python面向对象 自己手写的

    ### Python面向对象编程详解 ...通过以上内容的学习,我们可以更好地理解和掌握Python面向对象编程的基础知识和技术要点。面向对象编程是一种强大的工具,能够帮助程序员构建出结构清晰、易于维护的软件系统。

Global site tag (gtag.js) - Google Analytics