day18 Python 使用抽象类和抽象方法来约束子类

from abc import ABCMeta, abstractmethod


class Base(metaclass=ABCMeta):  # 定义抽象类

    @abstractmethod  # 定义抽象方法,如果子类不重写这个方法就会继承这个抽象方法,创建对象的时候会报错 TypeError: Can't instantiate abstract class Normal with abstract methods login
    def login(self):
        pass


class Normal(Base):

    # def login(self): 1、子类不实现login()方法,那么创建子类对象的时候就会抛出异常
    #     pass


n = Normal() # 2、 TypeError: Can't instantiate abstract class Normal with abstract methods login


# 注意:如果抽象类中全部是抽象方法,那么和go语言的接口是一样的。
# 接口:只提供了公开的方法,并没有提供方法的具体实现。

  

posted @ 2018-11-16 19:18  秋风亦冷  阅读(370)  评论(0编辑  收藏  举报