抽象类

Posted hhsh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了抽象类相关的知识,希望对你有一定的参考价值。

from abc import abstractmethod, ABCMeta

# 抽象类是不能实例化的类
class Talker(metaclass=ABCMeta):

    @abstractmethod                 # 标记为抽象方法,子类必须实现这方法
    def talk(self):
        pass


class Said(Talker):
    def talk(self):                        # 子类实现抽象类的方法
        print(talk something)

class Herring:
    pass
    # def talk(self):
    #     print(‘Herring‘)


said = Said()
said.talk()
print(isinstance(said, Talker))
h = Herring()
print(Talker.register(Herring))        # 注册使Herring成为Talker的对象
print(isinstance(h, Talker))
print(issubclass(Herring, Talker))
# h.talk()                             # 区别继承,这里就不能调用父类的方法,抽象类失去意义

 

以上是关于抽象类的主要内容,如果未能解决你的问题,请参考以下文章

查看发票组代码后的总结和有感

使用 Git 来管理 Xcode 中的代码片段

如何通过单击片段内的线性布局从片段类开始新活动?下面是我的代码,但这不起作用

设计模式 行为型模式 -- 观察者模式(发布-订阅(Publish/Subscribe)模式)

记一次抽象类中定义的静态变量,多个子类继承后,在方法中被重写引起的问题

Java 封装