博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
面向对象编程案例03---继承之高级部分
阅读量:6593 次
发布时间:2019-06-24

本文共 1305 字,大约阅读时间需要 4 分钟。

# -*- coding: utf-8 -*-#python 27#xiaodeng#file:BaseModelTest.py #模块名class BaseClass():    def __init__(self,name,age):        self.name=name        self.age=age        #print '__init__()'    def speak(self,name):        print 'base class is speak:%s'% self.nameif __name__=="__main__":    b=BaseClass("xiaodeng",28)    b.speak("python")

 

 

# -*- coding: utf-8 -*-#python 27#xiaodeng#面向对象编程案例03---继承之高级部分#http://www.cnblogs.com/Joans/archive/2012/11/09/2757368.html#类和对象是面向对象编程的两个方面。类创建一个实例,对象就是这个类的实例#初始化方法__init__可以理解为构造,有点类似于java的this#继承:面向对象的编程带来的好处之一就是代码的重用,实现方法就是通过继承的机制#语法:class 派生类名 (父类名):#python中继承的特点'''1、在继承中父类的构造方法不会被自动调用,需要在其他派生类中构造中亲自专门调用2、在调用父类的方法时,需要加上父类的类名前缀,且需要带上self参数,3、python总是需要先查找对象类型的方法,如果他不能在派生类中找到对应的方法,他才开始从基类中查找'''#定义子类#api.pyimport BaseModelclass SubClass(BaseModel.BaseClass):#注意这里的模块名.类名用法    def __init__(self,name,age,salary):#添加一个salary参数        BaseModel.BaseClass.__init__(self,name,age)#调用父类方法和属性        self.salary=salary        print 'salary:',self.salary    def talk(self,name):        BaseModel.BaseClass.speak(self,name)if __name__=="__main__":    s=SubClass("xiaodeng",28,'china')    s.talk("Hu Bei")    print '--'*20    s.speak("python")#通过子类调用speak方法,他会先在子类中查找,找到则调用,否则会到父类中查找            '''salary: chinabase class is speak:xiaodengbase class is speak:xiaodeng'''

 

你可能感兴趣的文章
我的友情链接
查看>>
Linux实验室 CentOS关机大法
查看>>
一行命令获取当前JVM所有可设置的参数以及当前默认值
查看>>
spring与struts2 mvc共存web.xml简单配置
查看>>
Python web爬虫
查看>>
详解性能调优命令
查看>>
Linux mint 14下的powerDNS+mysql+powerAdmin搭建个性DNS域名解析服务器
查看>>
Red Hat EnterPrise Linux 5.4下web服务器的综合使用(普通站点、虚拟主机、安全性、...
查看>>
squirrelmail+change_sqlpass 认证 问题
查看>>
hive优化--增加减少map数
查看>>
ERP计划参数如何在线更新
查看>>
LVS+Keepalived实现高可用集群
查看>>
我的友情链接
查看>>
unbantu安装 mysql --- 百度云
查看>>
sql2008性能计数器注册表配置单元一致性失败
查看>>
LNMP环境搭建
查看>>
我的友情链接
查看>>
学习linux—— 磁盘相关指令
查看>>
词法分析与语法分析简介
查看>>
JS中的默认行为
查看>>