powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Python pure virtual method
4 сообщений из 4, страница 1 из 1
Python pure virtual method
    #38575909
R1K0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет. Основной язык плюсы, и как-то уже на уровне рефлексов хочется создать единый интерфейс с рядом абстрактных методов. Возможно ли каким-то образом это имитировать в питоне, чтобы на уровне выполнения кода вылезал тот страшный эксепшн, что, мол pure virtual method call?
...
Рейтинг: 0 / 0
Python pure virtual method
    #38576950
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
R1K0Всем привет. Основной язык плюсы, и как-то уже на уровне рефлексов хочется создать единый интерфейс с рядом абстрактных методов. Возможно ли каким-то образом это имитировать в питоне, чтобы на уровне выполнения кода вылезал тот страшный эксепшн, что, мол pure virtual method call?


На питоне это совсем не нужно.
Там утиная типизация.
Если у объекта есть вызываемый метод, он вызовится, если нет -- будет ошибка (не pure virtual function call).
Делать же абстрактный класс (интерфейс) в Python также бессмысленно -- в С++ его наличие гарантирует,
что абстрактный метод будет реализован в наследнике. В Python это не будет гарантировать ничего.
...
Рейтинг: 0 / 0
Python pure virtual method
    #38580765
Фотография FishHook
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В стандартной библиотеке питона есть модуль abc, который реализует желания ТСа.

>>>Делать же абстрактный класс (интерфейс) в Python также бессмысленно
Ну, блин, значит ребята из pydev тупые, а ты умный. А zope component architecture вообще дауны писали, да же?
>>>не будет гарантировать ничего


Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
import abc
class Abstract(object):
    __metaclass__ = abc.ABCMeta
    @abc.abstractmethod
    def foo(self):
        pass
class Foo(Abstract):
    pass
f = Foo()


Запусти вот этот код, теоретик.
...
Рейтинг: 0 / 0
Python pure virtual method
    #38581350
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FishHookВ стандартной библиотеке питона есть модуль abc, который реализует желания ТСа.

>>>Делать же абстрактный класс (интерфейс) в Python также бессмысленно
Ну, блин, значит ребята из pydev тупые, а ты умный. А zope component architecture вообще дауны писали, да же?
>>>не будет гарантировать ничего


Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
import abc
class Abstract(object):
    __metaclass__ = abc.ABCMeta
    @abc.abstractmethod
    def foo(self):
        pass
class Foo(Abstract):
    pass
f = Foo()


Запусти вот этот код, теоретик.

Не, ну счатья, если нужно, я что, я не против.
я бы ни на фиг такое не делал.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Python pure virtual method
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]