Tony
0
Q:

inheritance in python

class Student:
    def __init(self, name, school):
        self.name = name
        self.school = school
        self.marks = []
        
    def average(self):
        return sum(self.marks) / len(self.marks)
    
    
class WorkingStudent(Student):                        # WorkingStudent() is a child of Student()
    def __init__(self, name, school, salary):
        super().__init__(name, school)                # parent class of Student()
        self.salary = salary


sarah = WorkingStudent('Sarah', 'Oxford', 10)
print(sarah.salary)
sarah.marks.append(30)
sarah.marks.append(28)
print(sarah.average())
6
# =============================================================================
# Inhertance
# =============================================================================
class A:
    def feature1(self):
        print('Feature 1 in process...')
    def feature2(self):
        print('Feature 2 in process...')       #Pt.1
        
class B:
    def feature3(self):
        print('Feature 3 in process...')
    def feature4(self):
        print ('Feature 4 in process...')
        
a1 = A() 

a1.feature1()
a1.feature2()

a2 = B()

a2.feature3()
a2.feature4()
# THE ABOVE PROGRAM IS A PROGRAM WITHOUT USING INHERITANCE
        
# WITH THE USE OF INHERITANCE IS BELOW
class A:
    def feature1(self):
        print('Feature 1 in process...')    
    def feature2(self):
        print('Feature 2 in process...')
        
class B(A):
    def feature3(self):
        print('Feature 3 in process...')    # Pt.2
    def feature4(self):
        print ('Feature 4 in process...')
        
a1 = A() 

a1.feature1()
a1.feature2()

a2 = B()

a2.feature3()
a2.feature4()


# NOW TO CHECK OUT THE DIFFERENCE BETWEEN Pt.1
# AND Pt.2 TRY RUNNIG THE CODE ON THE BASIS OF
# INHERITANCE, IN OTHER WORDS TRY RUNNING ONLY 
# B CLASS IN Pt.2 AND THEN RUN ONLY a2
# YOU WILL SEE A DIFFERENCE IN THE RUNNING OF 
# ONLY a2,,,, IT WILL STILL SHOW THAT FEATURE 3
# AND 4 IS IN PROCESS,, THIS MEANS THAT B IS THE
14
# creating parent class
class Parent:
    BloodGroup = 'A'
    Gender = 'Male'
    Hobby = 'Chess'
    
# creating child class
class Child(Parent): # inheriting parent class
    BloodGroup = 'A+'
    Gender = 'Female
    
    def print_data():
        print(BloodGroup, Gender, Hobby)
    
# creating object for child class
child1 = Child()
# as child1 inherits it's parent's hobby printed data would be it's parent's
child1.print_data()
  
3
# Python code to demonstrate how parent constructors 
# are called. 
  
# parent class 
class Person( object ):     
  
        # __init__ is known as the constructor          
        def __init__(self, name, idnumber):    
                self.name = name 
                self.idnumber = idnumber 
        def display(self): 
                print(self.name) 
                print(self.idnumber) 
  
# child class 
class Employee( Person ):            
        def __init__(self, name, idnumber, salary, post): 
                self.salary = salary 
                self.post = post 
  
                # invoking the __init__ of the parent class  
                Person.__init__(self, name, idnumber)  
  
                  
# creation of an object variable or an instance 
a = Employee('Rahul', 886012)     
  
# calling a function of the class Person using its instance 
a.display()  
2
class Parent:

    def abc(self):
        print("Parent")

class LeftChild(Parent):

    def pqr(self):
        print("Left Child")

class RightChild(Parent):

    def stu(self):
        print("Right Child")

class GrandChild(LeftChild,RightChild):

    def xyz(self):
        print("Grand Child")

obj1 = LeftChild()
obj2 = RightChild()
obj3 = GrandChild()
obj1.abc()
obj2.abc()
obj3.abc()
1
class Robot:
    
    def __init__(self, name):
        self.name = name
        
    def say_hi(self):
        print("Hi, I am " + self.name)
        
class PhysicianRobot(Robot):

    def say_hi(self):
        print("Everything will be okay! ") 
        print(self.name + " takes care of you!")

y = PhysicianRobot("James")
y.say_hi()
0
<__main__.Robot object at 0x7fd0080b3ba8> <class '__main__.Robot'>
<__main__.PhysicianRobot object at 0x7fd0080b3b70> <class '__main__.PhysicianRobot'>
Hi, I am James
0
# =============================================================================
# Inhertance
# =============================================================================
class A:
    def feature1(self):
        print('Feature 1 in process...')
    def feature2(self):
        print('Feature 2 in process...')       #Pt.1
        
class B:
    def feature3(self):
        print('Feature 3 in process...')
    def feature4(self):
        print ('Feature 4 in process...')
        
a1 = A() 

a1.feature1()
a1.feature2()

a2 = B()

a2.feature3()
a2.feature4()
# THE ABOVE PROGRAM IS A PROGRAM WITHOUT USING INHERITANCE
        
# WITH THE USE OF INHERITANCE IS BELOW
class A:
    def feature1(self):
        print('Feature 1 in process...')    
    def feature2(self):
        print('Feature 2 in process...')
        
class B(A):
    def feature3(self):
        print('Feature 3 in process...')    # Pt.2
    def feature4(self):
        print ('Feature 4 in process...')
        
a1 = A() 

a1.feature1()
a1.feature2()

a2 = B()

a2.feature3()
a2.feature4()
0
class Bird():
        def eat(self):
                print ("eating")
 
class Sparrow(Bird):
        def sound(self):
                print ("ChiChi!")
 
birdobj = Sparrow()
birdobj.eat()
birdobj.sound()
-1

New to Communities?

Join the community