• 面向对象编程案例03---继承之高级部分


    # -*- 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.name
    
    
    if __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.py
    import BaseModel
    class 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: china
    base class is speak:xiaodeng
    base class is speak:xiaodeng
    '''
  • 相关阅读:
    MFC tab页面中获到其它页面的数据
    sqlite数据库中"Select * From XXX能查到数据,但是Select DISTINCT group From xxx Order By group却查不出来
    关闭程序出现崩溃(exe 已触发了一个断点及未加载ucrtbased.pdb)
    springboot 通用Mapper使用
    springBoot 发布war包
    springCloud Zuul网关
    springboot hystrix turbine 聚合监控
    springBoot Feign Hystrix Dashboard
    springBoot Ribbon Hystrix Dashboard
    springBoot Feign Hystrix
  • 原文地址:https://www.cnblogs.com/dengyg200891/p/4865979.html
Copyright © 2020-2023  润新知