Абстрактный класс - это план для связанных классов. Он не может быть создан, но доступен только через наследование. Подкласс, наследующий абстрактный класс, необходим для реализации его абстрактных методов. В противном случае компилятор отметит ошибку.

Абстрактные методы - это методы без реализации. Абстрактный класс может иметь абстрактные методы или конкретные (обычные) методы.

Python не поддерживает абстрактные методы напрямую, но вы можете получить к ним доступ через abc (абстрактный базовый класс) модуль.

Использование модуля abc в Python

Чтобы определить абстрактный класс в Python, вам необходимо: Импортировать модуль abc.

См. Пример ниже:

из abc импорт ABC
класс AbstractClassName (ABC):
проходить

Обратите внимание на ключевое слово проходить. Это ключевое слово используется для замены пустого кода. Если вы его не укажете, компиляция выдаст ошибку.

Связанный: Будет ли Джулия претендовать на трон Питона?

Определения классов, определения методов, циклы и если операторы ожидают реализации кода. Таким образом, их отсутствие дает ошибку компиляции. Чтобы этого избежать, используйте

проходить подставить пустой код.

Чтобы определить абстрактный метод в Python, используйте @abstractmethod декоратор:

from abc import ABC, abstractmethod
класс AbstractClassName (ABC):
@abstractmethod
def abstractMethod (self):
проходить

Здесь было бы хорошо упомянуть, что - в отличие от Java - абстрактные методы в Python могут иметь реализацию.. Доступ к этой реализации можно получить в методе переопределения с помощью супер() метод.

импорт abc
класс AbstractClass (ABC):
def __init __ (self, value):
self.value = значение
супер () .__ init __ ()
@ abc.abstractmethod
def some_action (self):
print ("Это родительская реализация.")
класс MySubclass (AbstractClassExample):
def some_action (self):
супер (). some_action ()
print ("Это реализация подкласса. ")
x = MySubclass ()
x.some_action ()

Интересно отметить, что вы можете определить конструктор в абстрактном классе.

В строке 9 вы можете заметить, что @ abc.abstractmethod использовался как декоратор абстрактного метода. Это еще один способ, отличный от предыдущей формы. Также обратите внимание, что строка 1 короче (импорт abc), чем использованный ранее импорт строки 1.

Все дело в выборе. Хотя второй способ многим может показаться короче.

Обработка исключений в Python

Обратите внимание, что в приведенном выше примере кода нет способа зафиксировать ошибки. Ошибки возникают чаще, чем нет, и наличие надежного способа их устранения может изменить правила игры.

Эти события, которые нарушают нормальный ход выполнения программы, называются «исключениями», а управление ими называется «обработкой исключений». Следующим в вашем списке чтения Python должна быть обработка исключений.

ДелитьсяТвитнутьЭл. адрес
Как обрабатывать исключения в Python

Покройте свои основы кодирования исключениями Python.

Читать далее

Похожие темы
  • Программирование
  • Программирование
  • Python
  • Языки программирования
Об авторе
Джером Дэвидсон (Опубликовано 24 статей)

Джером - штатный писатель в MakeUseOf. Он освещает статьи по программированию и Linux. Он также криптоэнтузиаст и всегда следит за криптоиндустрией.

Ещё от Jerome Davidson

Подписывайтесь на нашу новостную рассылку

Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!

Нажмите здесь, чтобы подписаться