42.继承

作者: 经纶先生 | 来源:发表于2018-03-19 21:44 被阅读0次

被继承的是父类、基类
通过继承创建的类是 子类或者派生类

最简单的继承

class School_member(object):
    def __init__(self,name,age,sex):  #构造函数
        self.name = name
        self.age = age
        self.sex = sex


    def talk(self):
        info = """
        ---------%s---------
        my name is %s
        my age  is %s
        my sex  is %s         
        """%(self.name,self.name,self.age,self.sex)
        print(info)


class Teacher(School_member):  #继承
    pass


A = Teacher("dailiang",23,"male")
A.talk()

子类也可以有自己的方法:

class School_member(object):
    def __init__(self,name,age,sex):  #构造函数
        self.name = name
        self.age = age
        self.sex = sex

    def talk(self):
        info = """
        ---------%s---------
        my name is %s
        my age  is %s
        my sex  is %s         
        """%(self.name,self.name,self.age,self.sex)
        print(info)

class Teacher(School_member):  #继承
    def teching(self):
        print("%s is teaching python" %self.name)

A = Teacher("dailiang",23,"male")
A.teching()       #dailiang is teaching python

子类增加参数:

class School_member(object):
    def __init__(self,name,age,sex):  #构造函数
        self.name = name
        self.age = age
        self.sex = sex


    def talk(self):
        info = """
        ---------%s---------
        my name is %s
        my age  is %s
        my sex  is %s         
        """%(self.name,self.name,self.age,self.sex)
        print(info)


class Student(School_member):     
    def __init__(self, name, age, sex,amount):  # #如果继承之后,要增加新的属性,需要把父类的参数也添加上
        School_member.__init__(self,name,age,sex)  #继承父类的参数
        #也可以这样写super(Student, self).__init__(name, age, sex)
        self.amount = amount


A = Student("gangsi",73,"male",10000)

print(A.amount) #10000
print(A.talk())

重构父类方法:

class School_member(object):
    def __init__(self,name,age,sex):  #构造函数
        self.name = name
        self.age = age
        self.sex = sex

    def talk(self):
        info = """
        ---------%s---------
        my name is %s
        my age  is %s
        my sex  is %s         
        """%(self.name,self.name,self.age,self.sex)
        print(info)


class Student(School_member):
    def __init__(self, name, age, sex,amount):
        super(Student, self).__init__(name, age, sex)
        self.amount = amount

    def talk(self):                               #overwriten 重构了父类的talk方法
        print("%s is teaching python,she's amount is %s"%(self.name,self.amount))

A = Student("gangsi",73,"male",10000)  

print(A.amount) #10000
print(A.talk())  ##gangsi is teaching python,she's amount is 10000

多继承

class Animal(object):
    def sleep(self):
        print("---------sleep---------")
    def eat(self):
        print("-------eat-------------")

class horse(Animal):
    def run(self):
        print("-------run fast-------")

class lv(Animal):
    def work(self):
        print("-------work hard----")

class luozi(horse,lv):   #多继承
    pass

A = luozi()  
print(A.run())   # -------run fast-------
print(A.work())  #-------work hard----

相关文章

  • 42.继承

    被继承的是父类、基类通过继承创建的类是 子类或者派生类 最简单的继承 子类也可以有自己的方法: 子类增加参数: 重...

  • 吉檀迦利 42.

    42. Early in the day it was whispered that we should sail...

  • HERE IS YOUR PERSONALIZED AUTO-M

    Your score is 42. YOUR MORNINGNESS-EVENINGNESS TYPE IS CO...

  • Stray Birds

    42. You smiled and talked to me of nothing and I felt tha...

  • 42.

    曾经的金星和火星表面都有着巨大的海洋,今天却只是荒漠。 今天地球的温度也在逐渐上升,会不会有朝一日,跟金星火星一样...

  • 42.

    穿西装穿多了的时候偶尔选择穿一件纯白色T恤衫搭上三道杠白条纹红色束脚裤,简直解放了人生。 杨三眼里的杨二总是温润如...

  • 42.

    最近再看一些书关于如何做好阅读笔记的书,正好可以践行作者的好点子,希望能磨出自己的方法。 1)清晰地表现每一个章节...

  • 42. Trapping Rain Water

    Leetcode: 42. Trapping Rain WaterGiven n non-negative int...

  • 背熟这80个句子,英语作文下笔如有神助!(二)

    41.相反 in contrast / on the contrary 42. 满足需求 satisfy/ mee...

  • 心学之我悟:用

    心学之我悟:42. 敌人能用的,我也能用。

网友评论

      本文标题:42.继承

      本文链接:https://www.haomeiwen.com/subject/jrhmqftx.html