1,python类的继承

class A(object):
name ='eason'
age = '22'
def __init__(self):
print '我是A的构造函数!!!'
def getname(self):
return self.name
def getage(self):
return self.age class B(object):
name = 'linsir'
age='30'
def __init__(self):
print '我是B的构造函数!!!'
def getname(self):
return self.name
def getage(self):
return self.age class C(A,B):
def __init__(self):
print '我是我自己的构造函数'
#调用父类的构造函数
super(C,self).__init__()
name = 'testsir'
age = '25' person1 = C()
print person1.getname()
print person1.getage() 运行结果:
我是我自己的构造函数
我是A的构造函数!!!
testsir
25

 

子类如果没有构造函数,默认会使用父类的构造函数,如果继承多个父类,看哪个父类写在前面就调用哪个父类的构造。

C继承了A和B ,所以A和B为C的父类或者说是基类。

A和B为C的子类,或者说是AB的派生类。
调用父类的第一个方法:可以用super函数。super(son,self).__init__()
 
调用父类的第二个方法:父类.方法名(self),不建议使用,因为如果有多个调用父类的方法的代码,如果类的名称一旦发生变化,则意味这后面调用父类的方法的代码都得变。
 
2,python方法重写
class father(object):
def __init__(self):
self.name = 'tom'
print 'father' def func(self):
print 'father.func' def bad(self):
print 'father抽烟喝酒 ' class son(father):
def __init__(self):
super(son,self).__init__()
print 'son' def sonc(self):
print 'son.sonc' #重写bad函数,不在使用父类的函数。如果想调用父类的函数,可以用super执行父类的方法。
def bad(self):
#调用
# super(son, self).bad()
# father.bad(self)
print 'son赌博'
son1 = son()
son1.sonc()
son1.bad() 运行结果:
father
son
son.sonc
son赌博

  

son1 = son()实例化一个对象出来,调用bad方法,由于子类已经有bad方法,故无需重父类调用,即达到父类方法的重写功能。

 
 

pyhon类继承的更多相关文章

  1. javascript类继承的一些实验

    其实一开始编js没怎么用过对象,一般都用func,func,func···但是用多了,感觉代码一点都不美观,还要这里包一个函数,那里包一个函数,或者一直都是函数调用,不好看,而且一些重用的都要重写的话 ...

  2. C++ 类继承的对象布局

    C++多重继承下,对象布局与编译器,是否为虚拟继承都有很大关系,下面将逐一分析其中的差别,相同点为都按照类继承的先后顺序布局(类内按照虚表.成员声明先后顺序排列).该类情况为子类按照继承顺序排列,如c ...

  3. C++中public,protected,private派生类继承问题和访问权限问题

    C++中public,protected,private派生类继承问题和访问权限问题 当一个子类从父类继承时,父类的所有成员成为子类的成员,此时对父类成员的访问状态由继承时使用的继承限定符决定. 1. ...

  4. Javascript类继承-机制-代码Demo【原创】

    最近看到<Javascript设计模式>,对js模拟的”继承方式“有了更深一步的了解,虽然之前也总是用到prototype.new ,但只是知其然不知所以然,现在将类继承的方法整理如下,暂 ...

  5. smartjs 0.2 OOP讲解 - Klass 类继承

    SmartJS2.0加入OOP的功能.OOP包括klass与factory两个对象. Klass 类继承 与其他的类继承相比,smartjs使用了执行指针的概念(后面例子中会介绍),另外提供base基 ...

  6. C++——类继承

    类库:类库由类声明和实现构成.类组合了数据表示和类方法,因此提供了比函数库更加完整的程序包. 类继承:从已有的类派生出新的类,派生类继承了原有类(称为基类)的特征,包括方法. 通过类继承可以完成的工作 ...

  7. cocos2dx中常见的类及类继承关系

    场景:CCScene,继承自CCNode,几乎完全等于CCNode类 CCNode继承自CCObject,CCObject是真正意义上的父类,CCObject又继承自CCCopying类,CCCopy ...

  8. C++学习笔记(十二):类继承、虚函数、纯虚函数、抽象类和嵌套类

    类继承 在C++类继承中,一个派生类可以从一个基类派生,也可以从多个基类派生. 从一个基类派生的继承称为单继承:从多个基类派生的继承称为多继承. //单继承的定义 class B:public A { ...

  9. Android(java)学习笔记118:类继承的注意事项

    /* 继承的注意事项: A:子类只能继承父类所有非私有的成员(成员方法和成员变量) B:子类不能继承父类的构造方法,但是可以通过super(马上讲)关键字去访问父类构造方法. C:不要为了部分功能而去 ...

随机推荐

  1. JS脚本动态给元素/控件添加事件

    最近突然要用到JS脚本动态给元素添加事件.如TextBox的onclick事件.但有的onclick事件原先已经定义了相应代码!这里又不能替代原有方法,而JS脚本里面有个方法可以给控件在原有事件的基础 ...

  2. postman参数化 接口响应数据获取符合条件的内容参数化给后面的接口使用

    一:主要内容 从响应结果中找到满足条件的key,获取其value,参数化给后面的接口使用 二:参数化获取想要的value值,传给后面的接口使用 有时我们获取的响应数据,需要的那个字段可能在一个数组里面 ...

  3. 【IT笔试面试题整理】反转链表

    [试题描述]定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点 [参考代码] 方法一: public static Link reverseLinkList(Link head) ...

  4. C# Quartz的配置

    1. 介绍 Quartz为后台工作者提供了得便利,我们下面介绍一下它的配置.本文配置主要针对服务程序的配置. 但是在做下面配置之前,要安装包 Install-Package Quartz 2. Qua ...

  5. [转]Magento 2中文文档教程 - 配置和运行cron(定时任务)

    本文转自:https://blog.csdn.net/xz_src/article/details/72793476 cron(定时任务)概述 Magento 2 有许多功能需要用到cron(定时任务 ...

  6. jQuery获取动态产生的html内标签或元素

    下午分享<MVC编辑状态两个DropDownList联动>http://www.cnblogs.com/insus/p/3426563.html 不久,马上有网友问及三级联动的例子.Ins ...

  7. 基于asp.net mvc的近乎产品开发培训课程(第四讲)

    演示产品源码下载地址:http://www.jinhusns.com/Products/Download  演示产品源码下载地址:http://www.jinhusns.com/Products/Do ...

  8. C#+三层+会员管理系统源码

    本打算上51aspx的   但是他们说我做的太简单..,那我还是拿出来共享给大家 源码下载地址 链接:http://pan.baidu.com/s/1boAwv2R 密码:ycrf 源码描述:一.源码 ...

  9. winform窗体 控件【公共控件】

    Button   按钮 布局 AutoSize    自动匹配尺寸 Location     确定控件位置,相对左上角坐标 Margin       控件与控件之间的距离 Size           ...

  10. 动态加载JS函数

    一般性的,当我们需要加载js文件的时候都会使用script标签来实现,类似于如下代码: 代码如下: <script type="text/javascript" src=&q ...