封装

简介: 封装

一、封装的概念

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

具体理解

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


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


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


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


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


       ②防止用户意外修改数据


       ③使模块易于使用和维护


   (6)访问修饰符:


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


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

二、属性封装的实现

(1)属性封装的实现


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


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


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


   (2)封装方法的目的:


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


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


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

三、封装的步骤

   ①属性私有化

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

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

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

image.png

四、关键字

1.this关键字


(1)this关键字的特点:


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


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


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


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


2.static关键字


   1.static关键字的特点


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


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


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


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


相关文章
|
存储 Cloud Native 安全
C++ 封装成库
C++ 封装成库
|
Java 数据挖掘 数据库
封装的理解
封装的理解
106 0
|
3月前
|
数据安全/隐私保护 C语言 C++
C++(七)封装
本文档详细介绍了C++封装的概念及其应用。封装通过权限控制对外提供接口并隐藏内部数据,增强代码的安全性和可维护性。文档首先解释了`class`中的权限修饰符(`public`、`private`、`protected`)的作用,并通过示例展示了如何使用封装实现栈结构。接着介绍了构造器和析构器的使用方法,包括初始化列表的引入以及它们在内存管理和对象生命周期中的重要性。最后,通过分文件编程的方式展示了如何将类定义和实现分离,提高代码的模块化和复用性。
|
6月前
什么是封装?为什么是要封装?
什么是封装?为什么是要封装?
145 0
|
7月前
|
安全 C#
C#封装详解
C#封装详解
87 0
|
7月前
|
安全 数据安全/隐私保护
什么是封装?
什么是封装?
45 0
|
程序员
封装(了解一下)
封装(了解一下)
97 0