Abstract Superclass

Abstract Superclass គឺ​ជា​ superclass ទាំងឡាយ​ណា ដែល​ទាមទារ​អោយ​យើង​បង្កើត​ method មួយ​ចំនួន​នៅ​ក្នុង​ subclass ដើម្បី​អោយ method ទាំងឡាយ​នៅ​ក្នុង superclass នោះ​អាច​ត្រូវ call បាន​។ ពិនិត្យ​កម្មវិធី​ខាង​ក្រោម​នេះ៖​

class Cash():
    def displayProfit(self):
        self.getProfit()


class Capital(Cash):
    def __init__(self, sale, buy):
        self.sale = sale
        self.buy = buy

    def getProfit(self):
        print(self.sale -  self.buy)


money = Capital(1000, 900)
money.displayProfit()
100

យើង​គួរ​រំលឹក​ឡើង​វិញ​ថា ការយក​វត្ថុ​មិន​ទាន់​ត្រូវ​បាន​បង្កើត​មក​ប្រើ​នៅ​ពេល​បង្កើត function ឬ method អាច​ត្រូវ​ធ្វើ​ទៅ​បាន ពីព្រោះ block នៃ statement នៅ​ក្នុង​ function ឬ method មិន​ទាន់​ត្រូវ​យក​ទៅ​អនុវត្ត​នៅ​ឡើយ​ទេ នៅ​ពេល​ដែល function និង​ឬ method ទាំងនោះ​ត្រូវ​បាន​បង្កើត​ឡើង​។ statement ទាំងនោះ​ត្រូវ​យក​ទៅ​អនុវត្ត នៅ​ពេល​ណា​ដែល​ function និង​ឬ​ method ត្រូវ​បាន call តែ​ប៉ុណ្ណោះ​។

សរុបមក superclass ឈ្មោះ Cash គឺ​ជា abstract superclass ព្រោះ​វា​ទាមទារ​អោយ​យើង​បង្កើត method ឈ្មោះ getProfit() នៅ​ក្នុង subclass របស់​វា ដើម្បី​អាច​អោយ​ method ឈ្មោះ displayProfit() នៅ​ក្នុង​ superclass នោះ អាច​ត្រូវ​ call បាន​៕