Как позволить любому дочернему классу проходить в качестве параметра в функции, которая требует его родительского классаPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как позволить любому дочернему классу проходить в качестве параметра в функции, которая требует его родительского класса

Сообщение Anonymous »

Я пытаюсь создать систему инвентаризации, которая будет работать, если у игрока есть инвентарь, который является списком предметов. Я хочу создать функцию, которая позволяет добавлять любой объект, родительский класс которого состоит item , например, Wiron . Хотя технически я могу передать любому ребенку класса элементов в качестве параметра, как мне прояснить, что это может быть любого ребенка, а не только родитель?class item:
def __init__(self, weight : int, cost : int, name : int):
self.weight = weight
self.cost = cost
self.name = name

class weapon(item):
def __init__(self, attackinfo, _weight : int, _cost : int, _name : int):
super().__init__(_weight, _cost, _name)
self.attackinfo = attackinfo

class inventory:
def __init__(self):
self.items = []
def additem(self, _item : item):
self.items.append(item)

inventory1 = inventory()
inventory1.additem(weapon({"dmg" : 3, "range" : 10}, 5, 5, "bow"))



Подробнее здесь: https://stackoverflow.com/questions/796 ... -that-requ
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»