Python Object-Oriented Python Inheritance Super!

Ben Hedgepeth
Ben Hedgepeth
Python Web Development Techdegree Student 6,741 Points

Stuck on method overriding

I'm stuck with how to implement what the challenge is asking for. What can I do to fix it?

inventory.py
class Inventory:
    def __init__(self):
        self.slots = []

    def add_item(self, item):
        self.slots.append(item)

class SortedInventory(Inventory):
    def add_item(self, item):
        super.add_item(item)

1 Answer

Steven Parker
Steven Parker
171,169 Points

Any time you invoke (call) a method, you must put parentheses () after the method name, even if you are not passing any arguments.

Your call to "super()" is missing the parentheses.

Ben Hedgepeth
Ben Hedgepeth
Python Web Development Techdegree Student 6,741 Points

I'm not sure what I else I can do to pass the challenge?

class Inventory:
    def __init__(self):
        self.slots = []

    def add_item(self, item):
        self.slots.append(item)

class SortedInventory(Inventory):
    def add_item(item):
        super().add_item(item)
Steven Parker
Steven Parker
171,169 Points

I see you fixed the "super" call, but somehow you also lost the "self" parameter from "add_item". Put that back as you had it before and you should pass task 2.