封装

举报
小小张自由--张有博 发表于 2021/11/23 00:30:37 2021/11/23
【摘要】 一、封装的概念 封装,即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。 具体理解     (1)将东西包装...

一、封装的概念

封装,即隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别;将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。

具体理解

    (1)将东西包装在一起,然后以新的完整的形式呈现出来(即将属性和方法封装到里面,通过添加访问修饰符来限制访问权限,以达到信息隐藏的目的)

    (2)信息隐藏:隐藏对象的实现细节,不让外部直接访问到

    (3)信息隐藏是OOP最重要的功能之一,也是使用访问修饰符的原因。

    (4)信息隐藏的原因包括:

        ①对模块的任何实现细节所做的更改不会影响使用该模块的代码(开闭原则)

        ②防止用户意外修改数据

        ③使模块易于使用和维护

    (6)访问修饰符:

        ①public(公开的):该类或非该类均可访问,权限最大

        ②private(私有的):只有该类可以访问,权限最小

  二、属性封装的实现

    (1)属性封装的实现

        ①修改属性的可见性来限制对属性的访问

        ②为每个属性创建一对赋值(setter)方法和取值(getter)方法,用于公开对这些属性的访问接口

        ③在setter和getter方法中,根据需要加入对属性操作的限制

    (2)封装方法的目的:

        ① 隐藏方法实现细节(方法体),向外部提供公开接口(方法头),以供安全使用

        ② 简化调用,方便修改维护

        ③ 根据需要,可以私有化方法以供类内部使用

 三、封装的步骤

      ①属性私有化

     ②提供公共的设置器和访问器

     ③在设置器和访问器中添加业务校验逻辑

注释:跟上面的属性封装的实现有些重复

四、关键字

1.this关键字

(1)this关键字的特点:

       ① 在类的方法中使用this关键字代表的是调用此方法的对象的引用

       ② this可以看做是一个变量,它的值是当前对象的引用

       ③ 使用this关键字可以处理方法中的成员变量和形参同名的问题

       ④ 当在方法内需要用到调用该方法的对象时,就可以用this

2.static关键字

    1.static关键字的特点

    ①用来修饰类的成员(属性和方法):修饰成员变量的称之为类变量(静态变量),修饰成员方法的称之为类方法(静态方法)。

    ②当类被加载的时候就会被加载,优先于对象的存在,并且有默认初始值。

    ③ 用来修饰语句块(称之为静态代码块)。

     ④静态修饰的成员被所有的对象共享,调用的时候可以直接类名.成员来进行访问。

 

文章来源: blog.csdn.net,作者:小小张自由—>张有博,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/promsing/article/details/103448629

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。