怎么新建MySQL数据库

发布时间:2022-08-22 作者:admin
阅读:492
这篇文章给大家分享的是Python私有权限是什么样的,封装的意义是什么。小编觉得挺实用的,因此分享给大家做个参考,文中的介绍得很详细,而要易于理解和学习,有需要的朋友可以参考,接下来就跟随小编一起了解看看吧。

私有权限

面向对象三大特性:封装、继承、多态

封装的意义

    1,将属性和方法放到一起做为一个整体,然后通过实例化对象来处理;

    2,隐藏内部实现细节,只需要和对象及其属性和方法交互就可以了;

    3,对类的属性和方法增加 访问权限控制。

私有权限:在属性名和方法名 前面 加上两个下划线 __

    1,类的私有属性 和 私有方法,都不能通过对象直接访问,但是可以在本类内部访问;

    2,类的私有属性 和 私有方法,都不会被子类继承,子类也无法访问;

    3,私有属性 和 私有方法 往往用来处理类的内部事情,不通过对象处理,起到安全作用。

剧情发展: 大猫觉得配方传承下去没问题,但是钱是辛辛苦苦挣得血汗钱,不想传给徒弟。(私有权限)

# 定义一个Master父类
class Master(object):
    def __init__(self):
        # 属性
        self.gufa = '古法煎饼果子配方'

    # 方法
    def make_cake(self):
        print('按照%s制作古法煎饼果子' % self.gufa)

    def eat_master(self):
        print('在师傅家吃饭')


# 定义一个School父类
class School(object):
    def __init__(self):
        self.gufa = '现代煎饼果子配方'

    def make_cake(self):
        print('按照%s制作现代煎饼果子' % self.gufa)

    def eat_school(self):
        print('在学校吃饭')


# 定义一个Prentice子类,继承父类Master,School
class Prentice(Master, School):
    # 子类重写了属性和方法
    def __init__(self):
        self.gufa = '猫式煎饼果子配方'
        self.__money = 1000  # 亿美金

    def make_cake(self):
        print('用%s配方制作煎饼果子' % self.gufa)

    # 获取Master的属性和方法
    def make_master_cake(self):
        Master.__init__(self)
        Master.make_cake(self)

    # 获取School 的属性和方法
    def make_school_cake(self):
        School.__init__(self)
        School.make_cake(self)


# 新建一个大猫徒弟的类,继承大猫类Prentice
class PrenticePrentice(Prentice):
    pass


# 创建大猫徒弟的实例对象
pp = PrenticePrentice()
pp.make_cake()  # 用猫式煎饼果子配方配方制作煎饼果子
print(pp.gufa)  # 猫式煎饼果子配方
pp.make_master_cake()  # 按照古法煎饼果子配方制作古法煎饼果子
print(pp.gufa)  # 古法煎饼果子配方
pp.make_school_cake()  # 按照现代煎饼果子配方制作现代煎饼果子
print(pp.gufa)  # 现代煎饼果子配方

#monye式私有属性,实例化继承不了
print(pp.__money)  # 继承大猫的钱,出错:AttributeError: 'PrenticePrentice' object has no attribute '__money'

Python是以属性命名方式来区分,如果在属性和方法名前面加了2个下划线'__',则表明该属性和方法是私有权限,否则为公有权限。


感谢各位的阅读,以上就是“Python私有权限是什么样的,封装的意义是什么”的内容了,经过本文的学习后,相信大家对Python私有权限是什么样的,封装的意义是什么都有更深刻的体会了吧。这里是群英网络,小编将为大家推送更多相关知识点的文章,欢迎关注!

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

二维码-群英

长按识别二维码并关注微信

更方便到期提醒、手机管理

7*24 全天候服务

售前 400-678-4567

售后 0668-2555666

售后 400 678 4567

信息安全 0668-2555 118

域名空间 3004329145