面向对象的封装


前言

封装是将一些基本的数据类型复合成一个自定义的类型,本文从数据角度和行为角度简单介绍下面向对象的封装。

一、封装是什么?

面向对象有三大特征,分别是封装,继承,多态。封装是将一些基本的数据类型复合成一个自定义的类型。

二、封装的概念

1、封装

  • 1、数据角度
    概念:

    • 将一些基本的数据类型复合成一个自定义的类型

       优点:
           1、建立数据与对象之间的关联
           2、代码可读性强
      

    2、行为角度

  • 定义:
    类外提供必要的功能,隐藏实现的细节。
    空调(冷风、暖风、节电)

        优点:
            使用者不必关心实现细节,只需要关注提供的功能方法。
    
        私有成员:
            定义:
                在成员(变量、方法)前面加上 __(2个下划线)
    
         特点:
             只能在类内方法,类外不能直接通过名字访问
    
         作用:
             无需向外提供的成员,通过私有化进行【屏蔽】
    
         说明:
             类中实例对象的私有变量/私有方法:
                 _类名__变量名
                 _类名__方法名([参数列表])
    
     目的:
         1、实现对实例变量的保护
         2、实现对数据有效性验证
         3、实现正常的属性的访问(读取/写入)
    
     措施:
         class 类名:
             def __init__(self, [参数列表]):
                 self.age = age
    
             # 读取
             def get_age(self):
                 return self.__age
    
             # 写入
             def set_age(self, value):
                 if :
                     self.__age = value
                 else:
                     ...
    
             # 建立实例化与数据有效验证的联系
             age = property(get_age, set_age)  # 类变量
    

三、封装的实例讲解

# 封装

class Wife:
    def __init__(self, name, age):
        self.name = name
        self.age = age

w01 = Wife('圆圆', 18)
print(w01.name, w01.age)

w01.age = 100
print(w01.age)

# 问题:对象可以操作属性,数据变的不合理

# 封装-私有成员

class 
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

XU AE86

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值