Помощь с основами ООП в Python
Есть класс Queue (родитель), в котором описаны методы get_in() - добавление некой переменной в очередь, get_out() - удаление переменной из очереди и count() - подсчет очереди. От него наследуется класс PriorityQueue(Queue), который добавляет метод priority_get_in() - приоритетный вход в очередь, который обращается к списку list_queue = [] из родительского класса Queue и вставляет некоторое значение на 0 позицию Queue.list_queue.insert(0, variable).
Соответственно, возникли вопросы:
- Не противоречит ли одновременное существование методов
get_in()иpriority_get_in()принципам ОПП? - Допускается ли подобное взаимодействие с данными родителя
Queue.list_queue.insert(0, variable)?
Код прилагается:
class Queue:
list_queue = []
def __init__(self):
pass
@classmethod
def get_in(cls, variable):
Queue.list_queue.append(variable)
@classmethod
def get_out(cls):
return Queue.list_queue.pop(0)
@classmethod
def count(cls):
return len(Queue.list_queue)
class PriorityQueue(Queue):
@classmethod
def priority_get_in(cls, variable):
Queue.list_queue.insert(0, variable)