zoukankan      html  css  js  c++  java
  • 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()
  • 相关阅读:
    [BZOJ1584][Usaco2009 Mar]Cleaning Up 打扫卫生
    CSS浮动
    Django by example -----1总结
    C#函数重载
    linux目录的特点
    Linux调优
    linux
    对齐方式
    19-10-25-G-悲伤
    19-10-24-H
  • 原文地址:https://www.cnblogs.com/chenruhai/p/12464131.html
Copyright © 2011-2022 走看看