抽象类

抽象类

  • 抽象方法:没有具体内容的方法称为抽象方法
  • 抽象方法的吧主要意义是规范了子类的行为和接口
  • 抽象类的使用需要借助abc模块
    import abc
  • 抽象类:包含抽象方法的类叫抽象类,同城称为ABC类
  • 抽象类的使用
    • 抽象类可以包含抽象方法,也可以包含具体方法
    • 抽象类中可以有方法也可以有属性
    • 抽象类不允许直接实例化
    • 必须继承才可以使用,且继承的子类必须实现所有继承来的抽象方法
    • 假定子类没有实现所有继承的抽象方法,则子类也不能实例化
    • 抽象类的主要作用是设定类的标准,以便于开发的时候具有统一的规范
# 抽象

class Animal():
    
    def sayHello(self):
        pass
    
class Dog(Animal):
    def sayHello(self):
        print("问一下别人")

class Person(Animal):
    
    def sayHello(self):
        print("Kiss me")
        
d = Dog()
d.sayHello()

p = Person()
p.sayHello()
问一下别人
Kiss me
# 抽象类的实现
import abc

# 声明一个类并且指定当前类的元类
class Human(metaclass = abc.ABCMeta):
    
    # 定义一个抽象的方法
    @abc.abstractmethod
    def smoking(self):
        pass
    
    # 定义类抽象方法
    @abc.abstractclassmethod
    def drink():
        pass
    
    # 定义静态抽象方法
    @abc.abstractstaticmethod
    def play():
        pass
    
    def sleep(self):
        print("Sleeping......")
  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值