Code Explanation:
Importing Required Modules
from abc import ABC, abstractmethod
ABC (Abstract Base Class) is imported from the abc module.
@abstractmethod is used to define an abstract method.
Defining an Abstract Class (P)
class P(ABC):
@abstractmethod
def calc(self, x):
pass
P is an abstract class because it inherits from ABC.
calc(self, x) is an abstract method (it has no implementation).
Any subclass of P must override calc() before being instantiated.
Creating a Subclass (Q)
class Q(P):
def calc(self, x):
return x * 2
Q inherits from P and provides an implementation for calc().
Since calc() is now implemented, Q is no longer abstract and can be instantiated.
Instantiating Q and Calling calc()
print(Q().calc(5))
An object of Q is created: Q().
The calc(5) method is called, which returns 5 * 2 = 10.
Final Output
10
0 Comments:
Post a Comment