Python 中的抽象
Python 中的抽象
抽象用于向用户隐藏函数的内部功能。用户只与功能的基本实现交互,但内部工作是隐藏的。用户熟悉**“什么功能”但是不知道“它是怎么做的。”**
简单地说,我们都使用智能手机,并且非常熟悉它的功能,如摄像头、录音机、拨号等。,但我们不知道这些操作是如何在后台发生的。我们再举一个例子——当我们使用电视遥控器增加音量时。我们不知道按一个键如何增加电视的音量。我们只知道按“+”按钮来增加音量。
这正是在面向对象概念中工作的抽象。
为什么抽象很重要?
在 Python 中,抽象用于隐藏不相关的数据/类,以降低复杂性。也提高了应用效率。接下来,我们将学习如何使用 Python 程序实现抽象。
Python 中的抽象类
在 Python 中,抽象可以通过使用抽象类和接口来实现。
由一个或多个抽象方法组成的类称为抽象类。抽象方法不包含它们的实现。抽象类可以被子类继承,抽象方法在子类中得到定义。抽象类是另一个类的蓝图。当我们设计大型函数时,抽象类可能很有用。抽象类也有助于为组件的不同实现提供标准接口。Python 提供了 abc 模块来使用 Python 程序中的抽象。让我们看看下面的语法。
语法
|
我们从 abc 模块导入 ABC 类。
抽象基类
抽象基类是一组子类接口的通用应用。它可以被第三方使用,第三方将提供诸如插件的实现。当我们使用大型代码库来努力记住所有的类时,这也是有益的。
抽象类的工作
与其他高级语言不同,Python 本身不提供抽象类。我们需要导入 abc 模块,它为定义抽象基类提供了基础。ABC 的工作原理是将基类的方法装饰成抽象的。它将具体的类注册为抽象基的实现。我们使用***@ abstract method】***装饰器来定义一个抽象方法,或者如果我们不为该方法提供定义,它会自动成为抽象方法。让我们理解下面的例子。
示例-
|
输出:
The mileage is 30kmph |
解释-
在上面的代码中,我们已经导入了 abc 模块来创建抽象基类。我们创建了继承了 ABC 类的 Car 类,并定义了一个名为里程()的抽象方法。然后,我们从三个不同的子类继承了基类,并以不同的方式实现了抽象方法。我们创建了对象来调用抽象方法。
让我们理解另一个例子。
让我们理解另一个例子。
示例-
|
输出:
Triangle has 3 sides |
解释-
在上面的代码中,我们定义了名为 Polygon 的抽象基类,并定义了抽象方法。这个基类由不同的子类继承。我们在每个子类中实现了抽象方法。我们创建了子类的对象,并调用了 sides() 方法。每个子类中的**边()**方法的隐藏实现开始发挥作用。抽象类中定义的抽象方法 sides() 方法从未被调用。
需要记住的要点
下面是我们应该记住的关于 Python 中抽象基类的几点。
抽象类可以包含普通方法和抽象方法。
无法实例化抽象;我们不能为抽象类创建对象。
抽象对于向用户隐藏核心功能至关重要。我们已经介绍了 Python 中抽象的所有基本概念。