Classes in Python

  • Question 1
    CBSEENCO12011539

    Define a class RING in Python with following specifications

    Instance Attributes
    - RingID 		# Numeric value with a default value 101
    - Radius 		# Numeric value with a default value 10
    - Area 			# Numeric value
    Methods:
    - AreaCal() 	# Method to calculate Area as
    				# 3.14*Radius*Radius
    - NewRing() 	# Method to allow user to enter values of
    				# RingID and Radius. It should also
    				# Call AreaCal Method
    - ViewRing() 	# Method to display all the Attributes 4

    Solution
    class RING: # OR class RING( ): OR class RING(Object):
    	def __init__(self):
    		self.RingID=101
    		self.Radius=10
    		self.Area=0
    	def AreaCal(self):
    		self.Area=3.14*self.Radius*self.Radius
    	def NewRing(self):
    		self.RingID=input('Enter RingID')
    		self.Radius=input('Enter radius')
    		self.AreaCal() # OR AreaCal(self)
    	def ViewRing(self):
    		print self.RingID
    		print self.Radius
    		print self.Area
    Question 2
    CBSEENCO12011540

    Differentiate between static and dynamic binding in Python? Give the suitable example of each.

    Solution


    Static Binding

    Dynamic Binding

    Time of binding

    happens during compilation

    binding happens at run time

    Actual object

    Actual object is not used for binding

    Actual object is used for binding

    Example

    Method overloading

    Method overriding

    Methods of binding

    Private, static and final methods show static binding. Because they cannot be overridden.

    Other than private, static and final methods show dynamic binding. Because they can be overridden.

    Class

    Type class

    Object class

    Question 3
    CBSEENCO12011541

    Write two methods in Python using the concept of Function Overloading (Polymorphism) to perform the following operations:
    (i) A function having one argument as side, to calculate Area of Square as side*side
    (ii) A function having two arguments as Length and Breadth, to calculate Area of Rectangle as Length*Breadth.

    Solution
    def Area(side):
    	print side*side
    def Area(length,breadth):
    	print length*breadth

    If you run the code, the second Area(B, H) definition will overwrite/override the first one because python does not support function overloading “ as illustrated in the example shown above ”.

    Question 4
    CBSEENCO12011585

    class Exam:
    	Regno=1
    	Marks=75
    	def __init__(self,r,m): #function 1
    		self.Regno=r
    		self.Marks=m
    	def Assign(self,r,m): #function 2
    		Regno = r
    		Marks = m
    	def Check(self): #function 3
    		print self.Regno, self.Marks
    		print Regno, Marks

    (i) In the above class definition, both the functions - function 1 as well as function 2 have similar definition. How are they different in execution?

    (ii) Write statements to execute function 1 and function 2.

    Solution

    (i) Function 1 is the constructor which gets executed automatically as soon as the object of the class is created. Function 2 is a member function which has to be called to assign the values to Regno and Marks.
    (ii) Function 1 E1=Exam(1,95) # Any values in the parameter
         Function 2 E1.Assign(1,95) # Any values in the parameter

    Sponsor Area

    Mock Test Series

    Sponsor Area

    NCERT Book Store

    NCERT Sample Papers

    Entrance Exams Preparation