Python基础---面对对象(二)

封装

  • 定义:考虑数据的安全,进行封装,告诉协同开发者,不要随便更改该数据。

  • 封装形式
    • 私有属性(弱封装)—基于君子协议,即私有属性并非不可改动,只是提醒
      • 方式:在变量前加下划线
        在这里插入图片描述

        在这里插入图片描述

      • 隐藏属性(强封装)— 此时外部不能访问改该属性,并且不能够修改数据

        • 方式: 变量前加双下划线

    在这里插入图片描述

这里可以看到,输出语句中,类的变量都被标记了。说明无法访问

在这里插入图片描述
在这里插入图片描述
现在通过类的内部方法访问输出数据,发现即使想赋值修改数据,但结果一样。说明强封装只有通过类内部修改。

property装饰器

  • 跟前面的装饰器使用方法一样,@prperty可以直接类方法省略括号调用
  • 多用于将方法转换为相同名称的只读属性,可以与所定义的属性配合使用,这样可以防止属性被修改
  • 这里只是举个例子
    在这里插入图片描述
    在这里插入图片描述

getter()和setter()方法

  • 可以修改类的属性
  • 同时用于协同开发者之间的交流
    • 例如:设置了getter方法,但没设置setter方法,就是告诉协同开发者,这是只读属性
      在这里插入图片描述
      在这里插入图片描述
      getter方法类似使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值