Python 继承

1.继承

  真实:继承 ---->家产  

        富二代     拆二代   官二代

  继承:爷爷  ------ 父亲  -------儿子  :

继承:有血缘关系

注意:子类可以继承父类的一般属性和方法 (不能继承私有)

特点:

单继承  多层次  

继承:爷爷  ------ 父亲  -------女儿

继承:爷爷  ------ 公公  ------- 儿媳

特点:

多继承   多层次  

总结:  单继承   多继承     多层次

名词:子类    父类

程序:is -a    波斯猫是一只猫    苹果是一个水果    

1.语法

  万物皆对象 object

class A: 父类

class B(A): 子类
B继承A
class A:
    def testA(self):
        print("testA.....")
# 父亲
class B(A):
    def testB(self):
        print("testB.....")
#孙子
class C(B):
    def testC(self):
        print("testC.....")
c=C()
c.testA()
c.testB()
c.testC()
# testA.....
# testB.....
# testC.....
class  Aniaml:
    def __init__(self, name, color):
        self.name = name
        self.color = color
    def  info(self):
        print("它的名字:",self.name," 颜色:" ,self.color)

class Dog(Aniaml):
    def work(self):
        print("看门.....")

class Cat(Aniaml):
    def work(self):
        print("抓老鼠.....")

 

2.重写

import abc
class Pet:
        Nickname=''
        age=0
        sex=''
        @abc.abstractmethod
        def display(self):
            pass
class QQ( Pet):
    type='企鹅'
    def display(self):
        print('我是一只QQ企鹅')

class Rabbit(Pet):
    food='胡萝卜'
    def display(self):
        print('我是一只兔子')
qq=QQ()
qq.display()
print('QQ的类型是:',qq.type)
rabbit=Rabbit()
rabbit.display()
print('兔子喜欢的事物:',rabbit.food)

2.继承

  特点: 单继承  多继承 多层次

 注意:私有属性和方法不能继承

 方法的重写(继承): 在子类

 注意:子类新增属性:super

class Animal:
    def eat(self):
        print('在吃')
    def sleep(self):
        print('在睡')
class Rabbit(Animal):

    def eat(self):
        print('兔子吃草')
        super().sleep()
class Tiger(Animal):
    def eat(self):
        print('老虎吃肉')
        super().sleep()
class AnimalTest():
    rabbit=Rabbit()
    rabbit.eat()

    tiger=Tiger()
    tiger.eat()

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值