- 什么是接口,以及接口的作用是什么?
接口是一种数据类型,主要用于约束派生类中必须实现指定的方法
Python 中不存在,Java,C#中存在 - Python中用于约束的有:
(1)抽象类抽象方法
(2)人为主动抛出异常
3.应用场景
对于多个类中,当都必须实现某一个方法,对于基类中的方法进行实现的时候,可以使用人为抛出异常的方式或者抽象类抽象方法形式进行定义
3. 抽象类和抽象方法(在Python中抽象类和抽象方法使用的不多)
from abc import ABCmeta,abstractmethod
class AwaitImplement(metaclass=ABCmeta): #抽象方法
def __init__(self,name):
self.name = name
def f2(self):
print(666)
@abstractmethod #抽象方法
def abstrast_func(self):
pass
class Implement_class(AwaitImplement):
def __init__(self,name):
self.name = name
def abstrast_func(self):
print("这是必须实现的抽象方法") #这是实现的抽象类中的抽象方法
obj1 = Implement_class("hello")
obj1.abstrast_func()
4. 人为抛出异常(在Python中较为常用)
# 自定义一个异常类
class NotImplementedError(Exception): #自定义异常类需要继承Exception类
def __init__(self,arg):
print(arg)
class AwaitImplement(object):
def __init__(self):
print("这是对派生类实现约束的类")
def func1(self):
raise NotImplementedError("没有实现方法func1")
class Implement_Class(AwaitImplement): #这是继承了AwaitImplement类的派生类
def __init__(self):
print("这是继承了AwaitImplement类的派生类")
def func1(self):
print("这里写实现继承的方法func1的代码") #这里是用来实现对继承类AwaitImplement中的方法func1进行实现的代码
obj1 = Implement_Class()
obj1.func1()