Python_抽象类和接口类
前言:类是什么?类是从一堆对象中抽取出来的相同的属性和方法的集合,换句话说类也是object。
抽象类:
概念: 从一堆类中抽取出来的相同的方法的集合,规定了兼容接口
特点: 1. 只能被继承,不能实例化
2. 子类必须继承抽象类中定义的对象方法、绑定类方法、类方法、静态方法
3. 可以添加成员属性
4. 抽象类中可以定义抽象方法,也可定义正常方法
好处: 代码简洁明了、提升开发效率
# @Time : 2022/2/22 23:48
# @Author : Bella
# -*- coding: utf-8 -*-
import abc
class Animals(metaclass=abc.ABCMeta): # metaclass是创建类工厂,一般正常的类是type()创建
begin = "这是一个抽象类"
@abc.abstractmethod
def speak(self):
pass
@abc.abstractmethod
def eat():
pass
@abc.abstractclassmethod
def wc(cls):
print('Animal都会上厕所')
@abc.abstractstaticmethod
def sleep():
pass
class Cat(Animals):
def speak(self):
print('Cat都会说话')
def eat():
print('Cat都会吃饭')
@classmethod
def wc(cls):
print('Cat都会上厕所')
@staticmethod
def sleep():
print('Cat都会睡觉')
aa = Cat()
print(aa.begin)
aa.speak()
Cat.eat()
Cat.wc()
aa.sleep()