Python中面向对象的封装

面向对象的三大特性
面向对象编程,是许多编程语言都支持的一种编程思想。
简单理解是:基于模板(类)去创建实体(对象),使用对象完成功能开发。
面向对象包含3大主要特性:
· 封装
· 继承
· 多态

封装
封装表示的是,将现实世界事物的:
· 属性
· 行为

封装到类中,描述为:
· 成员变量
· 成员方法

从而完成程序对现实世界事物的描述
在这里插入图片描述

私有成员

既然现实事物有不公开的属性和行为,那么作为现实事物在程序中映射的类,也应该支持。

类中提供了私有成员的形式来支持。
· 私有成员变量
· 私有成员方法

定义私有成员的方式非常简单,只需要:
· 私有成员变量:变量名以__开头(2个下划线)
· 私有成员方法:方法名以__开头(2个下划线)
即可完成私有成员的设置

在这里插入图片描述

使用私有成员

在这里插入图片描述
在这里插入图片描述

代码示例:

# 定义一个类,内含私有成员变量和私有成员方法
class Phone:

    # 定义一个私有成员变量
    __current_voltage = 0.5  # 当前手机运行电压

    # 定义一个私有成员方法
    def __keep_single_core(self):
        print("让CPU以单核模式运行")

    def call_by_5g(self):
        if self.__current_voltage >=1:
            print("5G通话已开启")
        else:
            self.__keep_single_core()
            print("电量不足,无法使用5G通话,兵役设置为单核运行进行省电")

phone = Phone()
phone.call_by_5g()

总结:

  1. 封装的概念是指?
    将现实世界事物在类中描述为属性和方法,即为封装。
  2. 什么是私有成员?为什么需要私有成员?
    现实事物有部分属性和行为是不公开对使用者开放的。同样在类中描述属性和方法的时候也需要达到这个要求,就需要定义私有成员了
  3. 如何定义私有成员?
    成员变量和成员方法的命名均以__作为开头即可
  4. 私有成员的访问限制?
    类对象无法访问私有成员
    类中的其它成员可以访问私有成员

练习小案例

在这里插入图片描述
代码示例:

# 设计一个类,用来描述手机
class Phone:
    # 提供私有成员变量:__is_5g_enable
    __is_5g_enable = True  # 5G状态

    # 提供私有成员方法:__check_5g()
    def __check_5g(self):
        if self.__is_5g_enable:
            print("5G开启")
        else:
            print("5G关闭,使用4G")

    # 提供公开成员方法:call_by_5g()
    def call_by_5g(self):
        self.__check_5g()
        print("正在通话中")

phone = Phone()
phone.call_by_5g()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值