🐴
笔记
  • 学习笔记
  • Python 基础安排
  • 00 在虚拟机中安装 Ubuntu
  • 01 Linux基础
    • 操作系统(科普章节)
    • 操作系统的发展史(科普章节)
    • 文件和目录(理解)
    • Ubuntu 图形界面入门
    • 常用 Linux 命令的基本使用
    • Linux 终端命令格式
    • 文件和目录常用命令
    • ssh远程管理常用命令
    • 用户权限相关命令
    • 系统信息相关命令
    • 其他命令
  • 02 Python 基础
    • 认识 Python
    • 第一个 Python 程序
    • PyCharm 的初始设置(知道)
    • 多文件项目的演练
    • 注释
    • 算数运算符
    • 程序执行原理(科普)
    • 变量的基本使用
    • 变量的命名
    • 判断(if)语句
    • 运算符
    • 循环
    • 函数基础
    • 高级变量类型
    • 综合应用 —— 名片管理系统
    • 变量进阶(理解)
    • 函数进阶
  • 03 面向对象
    • 面向对象(OOP)基本概念
    • 类和对象
    • 面相对象基础语法
    • 面向对象封装案例
    • 面向对象封装案例 II
    • 私有属性和私有方法
    • 继承
    • 多态
    • 类属性和类方法
    • 单例
    • 异常
    • 模块和包
    • 文件
    • eval 函数
  • 04 项目实战资料
  • 05 vi —— 终端中的编辑器
  • 2-01 网络编程
  • 2-02 多任务
  • 2-03 web服务器v3.1
  • 2-04 Python高级语法v3.1
  • 2-05 MySQL数据库v3.1
  • 2-12 git版本管理
  • 2-21 数据分析
  • 2-24 数据结构和算法
Powered by GitBook
On this page
  • 01. 应用场景及定义方式
  • 02. 伪私有属性和私有方法(科普)
  1. 03 面向对象

私有属性和私有方法

Previous面向对象封装案例 IINext继承

Last updated 3 years ago

01. 应用场景及定义方式

应用场景

  • 在实际开发中,对象 的 某些属性或方法 可能只希望 在对象的内部被使用,而 不希望在外部被访问到

  • 私有属性 就是 对象 不希望公开的 属性

  • 私有方法 就是 对象 不希望公开的 方法

定义方式

  • 在 定义属性或方法时,在 属性名或者方法名前 增加 两个下划线,定义的就是 私有 属性或方法

class Women:

    def __init__(self, name):

        self.name = name
        # 不要问女生的年龄
        self.__age = 18

    def __secret(self):
        print("我的年龄是 %d" % self.__age)


xiaofang = Women("小芳")
# 私有属性,外部不能直接访问
# print(xiaofang.__age)

# 私有方法,外部不能直接调用
# xiaofang.__secret()

02. 伪私有属性和私有方法(科普)

提示:在日常开发中,不要使用这种方式,访问对象的 私有属性 或 私有方法

Python 中,并没有 真正意义 的 私有

  • 在给 属性、方法 命名时,实际是对 名称 做了一些特殊处理,使得外界无法访问到

  • 处理方式:在 名称 前面加上 _类名 => _类名__名称

# 私有属性,外部不能直接访问到
print(xiaofang._Women__age)

# 私有方法,外部不能直接调用
xiaofang._Women__secret()