Помощь с основами ООП в Python

Есть класс Queue (родитель), в котором описаны методы get_in() - добавление некой переменной в очередь, get_out() - удаление переменной из очереди и count() - подсчет очереди. От него наследуется класс PriorityQueue(Queue), который добавляет метод priority_get_in() - приоритетный вход в очередь, который обращается к списку list_queue = [] из родительского класса Queue и вставляет некоторое значение на 0 позицию Queue.list_queue.insert(0, variable).

Соответственно, возникли вопросы:

  1. Не противоречит ли одновременное существование методов get_in() и priority_get_in() принципам ОПП?
  2. Допускается ли подобное взаимодействие с данными родителя 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)


Ответы (0 шт):