zoukankan      html  css  js  c++  java
  • python学习DAY10(继承中的相关问题)

    #示例
    #组合
    #父类
    class SchoolMember(object):
        def __init__(self,name,age,sex):
            self.name=name
            self.age=age
            self.sex=sex
    class Person(object):
        def __init__(self,job):
            self.job=job
    #子类
    class Teacher(SchoolMember):
        def __init__(self,name,age,sex,salary,course,Person_obj):  #Person_obj是为了下面多继承举例所用
            super(Teacher,self).__init__(name,age,sex)   #新式写法,但多继承采用这种方式的时候虽然可以避免多次执行__init__,但是会带来参数不正确的问题,因为多继承有顺序之分,对参数的顺序也有要求,但是我们没办法确定是哪个父类优先继承,因此参数的位置也就没办法确定下来
           #SchoolMember.__init__(self,name,age,sex)     #__init__只执行一次,如果多继承采用这种方法,会执行多次__init__,所以用super就可以避免此方法多继承带来的问题
            self.salary=salary
            self.course=course
            #如果想采用多继承,以上的两种方法都不能很好的解决问题,可以通过以下方法实现
            #如保留原继承SchoolMember类的情况下再继承Person类
            self.person=Person_obj  #注意子类构造函数的参数------>组合
            
            
  • 相关阅读:
    ssh session 共享
    python 快速开启http服务
    GCC 默认头文件搜索路径
    GCC 部分单元测试编译失败
    随机森林与GBDT
    DecisionTree
    SVM
    KDDCUP CTR预测比赛总结
    剑指offer-java
    搜狗搜索日志传输与分析
  • 原文地址:https://www.cnblogs.com/god-for-speed/p/11362400.html
Copyright © 2011-2022 走看看