example - pp \preview\manager py from person import person class manager(person)def giveraise(selfpercentbonus= )self pay *( percent bonusif __name__ ='__main__'tom manager(name='tom doe'age= pay= print(tom lastname()tom giveraise print(tom paywhen runthis script' self-test prints the followingdoe herethe manager class appears in module of its ownbut it could have been added to the person module instead (python doesn' require just one class per fileit inherits the constructor and last-name methods from its superclassbut it customizes just the giveraise method (there are variety of ways to code this extensionas we'll see laterbecause this change is being added as new subclassthe original person classand any objects generated from itwill continue working unchanged bob and suefor exampleinherit the original raise logicbut tom gets the custom version because of the class from which he is created in oopwe program by customizingnot by changing in factcode that uses our objects doesn' need to be at all aware of what the raise method does--it' up to the object to do the right thing based on the class from which it is created as long as the object supports the expected interface (herea method called giveraise)it will be compatible with the calling coderegardless of its specific typeand even if its method works differently than others if you've already studied pythonyou may know this behavior as polymorphismit' core property of the languageand it accounts for much of your code' flexibility when the following code calls the giveraise methodfor examplewhat happens depends on the obj object being processedtom gets percent raise instead of percent because of the manager class' customizationfrom person import person from manager import manager bob person(name='bob smith'age= pay= sue person(name='sue jones'age= pay= tom manager(name='tom doe'age= pay= db [bobsuetom sneak preview