Python中的抽象类(简单易懂版)

1.抽象类

如果大家学过java语言的话,那么一定对抽象类不陌生。同样作为面向对象的语言,Python也有抽象类。

1.1什么是抽象类?

如果说,类是对一堆对象共同内容的抽取,那么抽象类就是对一堆类共同内容的抽取,包括:属性和方法。

1.2抽象类的特点

(1)抽象类必须包含一个或多个抽象方法,也可以包含普通方法。
(2)抽象类的抽象方法,在抽象类中并不作实现。
(3)抽象类不能被实例化。

(4)抽象类的子类要想进行实例化,必须先实现抽象父类中的所有抽象方法!!!!!!!!!!!!!

1.3普通父类的示例

# coding:utf-8

# 不是抽象类,是一个普通父类
class Parent(object):
    # 构造方法
    def __init__(self, sex, surname, job):
        self.sex = sex
        self.surname = surname
        self.job = job

    # 已经实现的普通方法
    def run(self):
        print("running...")

    def say(self):
        print("saying...")

    def is_adult(self):
        print("True")

    # 未实现的普通方法
    def hobby(self):
        pass

# 子类
class Son(Parent):
    # 重写
    def is_adult(self):
        print("False")


# 实例化
s = Son(sex="male", surname="Zhang", job="student")
s.is_adult()
s.hobby()

在这里插入图片描述

1.4抽象父类的示例

#coding:utf-8
# 从abc库中导入ABC, abstractmethod模块
from abc import ABC, abstractmethod

# 抽象父类
class Parent(ABC):
    # 构造方法
    def __init__(self, sex, surname, job):
        self.sex = sex
        self.surname = surname
        self.job = job

    # 已经实现的普通方法
    def run(self):
        print("running...")

    def say(self):
        print("saying...")

    def is_adult(self):
        print("True")

    # 抽象方法
    @abstractmethod
    def hobby(self):
        pass

# 子类
class Son(Parent):
    # 重写
    def is_adult(self):
        print("False")


# 实例化
s = Son(sex="male", surname="Zhang", job="student")
s.is_adult()
s.hobby()

在这里插入图片描述

1.5正确打开方式!!!

#coding:utf-8
# 从abc库中导入ABC, abstractmethod模块
from abc import ABC, abstractmethod

# 抽象父类
class Parent(ABC):
    # 构造方法
    def __init__(self, sex, surname, job):
        self.sex = sex
        self.surname = surname
        self.job = job

    # 已经实现的普通方法
    def run(self):
        print("running...")

    def say(self):
        print("saying...")

    def is_adult(self):
        print("True")

    # 抽象方法
    @abstractmethod
    def hobby(self):
        pass

# 子类
class Son(Parent):
    # 重写
    def is_adult(self):
        print("False")
    # 实现抽象父类的抽象方法
    def hobby(self):
        print("basketball")


# 实例化
s = Son(sex="male", surname="Zhang", job="student")
s.is_adult()
s.hobby()

在这里插入图片描述

2.接下来的内容


下一篇将介绍:python中的继承与多态!!!

3.完结,撒花…

  • 28
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值