python_面向对象——继承

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)

猜你喜欢

转载自www.cnblogs.com/wangdianchao/p/11854626.html