python_面向对象——继承

与世无争的帅哥 提交于 2019-12-04 10:21:12

1.继承

class Animal:
    def __init__(self,name,age,sex):
        self.name = name
        self.age = age
        self.sex = sex

    def eat(self):
        print('{}正在吃东西~'.format(self.name))
# 继承(Animal)类
class Person(Animal):
    def talk(self):
        print('子类独有的方法!')
# 子类可以使用父类中的方法
p = Person('yhf',23,'女')
p.eat()

  子类也可以继承父类的属性:

class Animal:
    a_type = '动物'
    def __init__(self,name,age,sex):
        self.name = name
        self.age = age
        self.sex = sex

    def eat(self):
        print('{}正在吃东西~'.format(self.name))
# 继承(Animal)类
class Person(Animal):
    def talk(self):
        print('独有的方法!')

p = Person('yhf',23,'女')
# 子类也可以继承父类的属性
print(p.a_type)

2.重构父类中的方法

class Animal:
    def __init__(self,name,age,sex):
        self.name = name
        self.age = age
        self.sex = sex

    def eat(self):
        print('{}正在吃东西~'.format(self.name))
# 继承(Animal)类
class Person(Animal):
    def talk(self):
        print('独有的方法!')
    # 重写父类的方法
    def eat(self):
        print('人在吃饭')
# 子类和父类的方法重名,此时则执行子类中的方法,不执行父类中的方法
p = Person('yhf',23,'女')
p.eat()

 

 

   属性的重构:

class Animal:
    a_type = '动物'
    def __init__(self,name,age,sex):
        self.name = name
        self.age = age
        self.sex = sex

    def eat(self):
        print('{}正在吃东西~'.format(self.name))
# 继承(Animal)类
class Person(Animal):
    a_type = '高级动物'
    def talk(self):
        print('独有的方法!')

p = Person('yhf',23,'女')
# 子类和父类的属性重名,此时按照子类的属性,不按父类的属性
print(p.a_type)

 

 

 

class Animal:    a_type = '动物'def __init__(self,name,age,sex):        self.name = name        self.age = age        self.sex = sex    def eat(self):        print('{}正在吃东西~'.format(self.name))# 继承(Animal)类class Person(Animal):    def talk(self):        print('独有的方法!')p = Person('yhf',23,'女')# 子类也可以继承父类的属性print(p.a_type)
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!