python class super code example

Example 1: python super

# It's kinda hard to explain this just by code.
# So I'll provide a link to a pretty good explanation of it.
https://www.pythonforbeginners.com/super/working-python-super-function

Example 2: python super

# The super() function lets you run a parent class function inside the child class.
class Parent(object):
    def __init__(self, age):
        self.age = age
    
    def func(self):
        print(f"Hi, my age is {self.age}!")

class Child(Parent):
    def __init__(self, age):
        # Here is where I can use the super to run the parent class __init__ function to set the childs' name
        super().__init__(age)

dad = Parent(36)
kid = Child(8)

dad.func()
kid.func() # The kid inherits it from the dad, so I could run it like that too

Example 3: python super

class Square(Rectangle):
    def __init__(self, length):
        super().__init__(length, length)

Example 4: pyhton super

class Person:  
    name = ""  

    def __init__(self, personName):  
        self.name = personName  
  
    def showName(self):  
        print(self.name)  
  
class Student(Person): 
    studentClass = ""  

    def __init__(self, studentName, studentClass):  
        Super().__init__(self, studentName)
        self.studentClass = studentClass  
  
    def getStudentClass(self):  
        return self.studentClass  
  
  
person1 = Person("Dave")
person1.showName()                  # Dave
student1 = Student("Mary", "Maths")
print(student1.getStudentClass())   # Math
student1.showName()                 # Mary

Example 5: using super constructor python

class Rectangle:
    def __init__(self, length, width):
        self.length = length
        self.width = width

    def area(self):
        return self.length * self.width

    def perimeter(self):
        return 2 * self.length + 2 * self.width

# Here we declare that the Square class inherits from the Rectangle class
class Square(Rectangle):
    def __init__(self, length):
        super().__init__(length, length)