Code Explanation:
1. Base Class Definition
class A:
This defines a class named A.
Class A will contain a class variable and a method.
2. Class Variable in Class A
x = 5
x is a class variable, meaning it belongs to the class itself, not individual objects.
All instances of class A share this value unless overridden.
3. Method in Class A
def get(self):
return self.x
This method returns the value of self.x.
Python first checks instance attributes, then class attributes, following the attribute lookup chain.
If the object belongs to a subclass (like B), Python also checks subclass attributes.
4. Subclass Definition
class B(A):
Class B inherits from class A.
That means B gets A’s variables and methods unless it overrides them.
5. Overriding the Class Variable
x = 10
Class B defines its own class variable x = 10.
This overrides A’s x = 5 for any object created from B.
6. Creating an Object of B
b = B()
An instance b of class B is created.
It inherits the method get() from class A.
The class variable x for this instance comes from class B, not A.
7. Calling the Method
print(b.get())
This calls get() from class A.
Inside get(), self.x refers to the attribute x of object b.
Since b belongs to class B, it uses B.x = 10, not A.x = 5.
So the output is:
10
✅ Final Output
10


0 Comments:
Post a Comment