python類中的公有方法與私有方法


 

公有方法:何地調用都可以。無任何修飾。
私有方法:只能在類內部調用。使用雙下划線__對類方法進行修飾。
魔法方法:在類名的前面和后面都使用雙下划線進行修飾。

class Book:
    def __init__(self,name,author,price):
        self.name = name
        self.author = author
        self.price = price

    def __check_name(self):#私有方法
        if self.name == '': return False
        else:return True

    def get_name(self): #公有方法
        if self.__check_name():print(self.name,self.author)
        else:print('No value')

class BK(Book):
    def __init__(self, name, author, price):
        super().__init__(name, author, price)

    def __check_name(self):
        print("hello")

    def say(self):
        Book.get_name(self) #從這里的打印可以看到,BOOK類的實例屬性已經被類BK傳入的參數給重寫。
        BK.__check_name(self)


if __name__ == '__main__':
    b =Book('python程序設計教程','江紅',59.0)
    b.get_name()
    # b.__check_name() #直接調用私有方法是非法的,此處會報錯;私有方法應該在類內部調用。
    print("-----")

    q = BK('java程序設計教程','唐三',69.0)
    q.say()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM