面向对象的三大特征:封装、继承与多态。
只要某个编程语言是属于面向对象编程语言,它就必须具有这三个特征。Java也不例外。
下面我们会先来说说面向对象特征中的封装,但是在说它之前,还是先来说说信息的隐藏。这里,隐藏就像是封装的先锋官,没有了隐藏,封装就无从谈起。
我们已经知道了,Java中类和对象的概念,来自于我们的真实世界的抽象。那么我们在声明一个类,并根据类来创建对象的时候,就要估计它的真实合理性。
比如前面的学生类示例中,声明了age年龄属性。类型为整数类型。年龄是用来描述学生信息的。那么,如果运行其他的用户(比如其他的类或者对象)可以直接操作对象的属性,就会出现一些不必要的问题。
例如:将年龄(age)的值设置为1000。
虽然这在语法上是没有问题的,但是,我们知道,在现实世界中,这种情况是绝对不可能出现的。如果在程序的其它部分使用到了这个age,就可能会引起问题。
因此,一般而言,应该将属性定义为private(私有的)的,这样,只有类本身才可以访问这个属性,而外部程序或其他的类是不能访问它的(private的详细说明后面章节说明)。
通过定义不同的方法,并且将这些方法设置为public或Default来访问这些属性,这样,我们可以通过在方法中加入一些逻辑判断的方法来操作属性,例如,将年龄的上限设置为100,将下限设置为10等,这样就不会出现年龄为1000的情况了。一个改进后的Student类的定义如下(省略了其他属性和相应的方法):
public class Student1 {
// 定义属性
private int age;
// 定义属性“age”的设置方法
public void setAge(int s_age) {
if (s_age > 100) {
age = 100;
} else if (s_age < 10) {
age = 10;
} else {
age = s_age;
}
}
// 定义属性“age”的获取方法
public int getAge() {
return age;
}
}
这里先简单说明一下,在setAge方法中,if逻辑表示分支判断,很容易读出,当用户提供的参数年龄值大于100,则最多年龄可以记为100,如果小于10,则最小年龄可以记为10,如果年龄值在10到100的范围内,可以完成用户的赋值要求。
当然,这个逻辑可以根据实际情况来修改,这样一来,用户(其他的对象和类)就无法直接对年龄属性“胡作非为”了,他必须在我们的监督下完成操作。
这就是信息的隐藏。即将类中不想让其他用户直接操作的属性(或者方法,一般主要指属性)设置为private修饰,只允许在该类里面进行操作。
分享到:
相关推荐
16. 信息化能力建设涉及硬件和软件两个方面,硬件包括信息基础设施,软件则涵盖管理和应用层面的能力。 17. 民族的历史文化传统是文化结构的重要内容,对信息化进程有着直接的影响,因为它决定了对新技术接受的程度...
本项目聚焦于24位BMP位图中的信息隐藏和读取,这涉及到数字图像处理、位运算以及文件I/O等多个知识点。 首先,24位BMP位图每像素由红、绿、蓝三种颜色的8位组成,共24位。这意味着每个像素可以表示16,777,216种颜色...
在IT领域,信息隐藏是一种重要的技术,用于在数据中嵌入秘密信息,使得这些信息对非授权者不可见。在给定的“简单二值隐写算法.zip”压缩包中,我们关注的是一个利用MD5(Message-Digest Algorithm 5)进行信息隐藏...
可以设置任一进程优先级,可以强行结束进程,可以显示进程的详细信息,可以强行结束进程的DLL模块。 8.MagicHide除了提供了热键隐藏窗口以外,还提供了鼠标隐藏窗口的功能,同时按下鼠标的左右键即可隐藏当前...
MP3Stego_1_1_16是一个用于在音频文件中嵌入隐藏信息的工具,特别关注于在MP3格式的音频文件中实施数字水印技术。数字水印是信息安全领域的一个重要分支,主要用于保护版权和验证内容的原始性。在本案例中,MP3Stego...
4. **代码折叠**:允许用户隐藏不相关的部分,使脚本看起来更整洁。 5. **命令历史**:快速访问以前输入过的命令,便于重复使用或修改。 6. **别名和函数**:简化常用命令,创建自定义功能。 7. **脚本调试**:提供...
根据提供的文件信息,本文将深入探讨信息隐藏技术及其在JPEG图像中的应用,重点解析离散余弦变换(DCT)在这一过程中的作用,并简要介绍JPEG编码的基本步骤。 ### 信息隐藏技术概述 信息隐藏技术是一种新型的信息...
具体来说,LSB算法通常用于8色、16色、256色以及24位真彩色图像的信息隐藏。 - **对于256色图像**:每个字节存储一个像素点,意味着一个像素点可以隐藏1位信息。例如,一张640×480像素的256色图像至少可以隐藏640...
最新版本的安国alcormp量产工具AlcorMP_UFD 5T2F,Version: 10.12.16支持6987T主控优化方式:U盘容量优先 U盘速度优先 原低格设定装置方式模式设定:普通盘、本地盘、只读盘、加密盘、写保护盘、CDROM启动盘;...
隐藏信息探索-web2 1、通过URL访问http://靶机IP/1,对该页面进行渗透测试,将完成后返回的结果内容作为 FLAG值提交; 访问页面是一个加法计算题目:****但是输入框里面只能输入一个数字,打开开发者模式修改...
……16 2.6错误检测与纠正..................................................................................................17 2.6. 1纠错等级...............................................................
StrongOD通过一系列技术手段,如模拟API调用、隐藏调试标志、混淆内存信息等,有效地隐藏了OllyDbg的存在,使得被调试程序无法察觉到调试活动,从而能够顺利进行分析。 具体来说,StrongOD的隐藏技术主要包括: 1....
17,诊断报告功能可自动收集系统信息,为作者对软件的日后改进提供线索. 18,帮助文档,图文并茂,易学易会,网上论坛,在线答疑. 一键GHOST v2016.02.16 更新日志 增加3个GRUB4DOS启动自定义ISO菜单选项 更新Disk...
在本实验中,我们将深入探讨MATLAB在语音信息隐藏领域的应用,特别是在低频位替换(Least Significant Bit,LSB)技术中的使用。语音信息隐藏是一种安全通信技术,它允许在音频文件中嵌入秘密信息,使得这些信息在不...
它允许用户安装各种模块来增强设备功能,如root权限管理、系统隐藏、内核调整等。Magisk的工作原理是通过替换系统启动分区中的特定文件,使得模块可以在设备启动时自动加载。 2. **AsoulOpt**:这可能是模块的核心...
《信息隐藏与数字水印:探索标准测试图片库的奥秘》 信息隐藏与数字水印是现代信息安全领域中的重要技术,它们旨在保护多媒体数据的完整性、来源认证以及版权保护。一个广泛使用的测试资源,即“信息隐藏标准测试...
### 基于Internet网络协议的信息隐藏技术 #### 摘要 随着互联网技术的快速发展,网络信息安全成为了社会各界关注的重点领域之一。为了更好地保护敏感信息,信息隐藏技术逐渐成为研究的热点。信息隐藏技术旨在通过...
在语音信息隐藏中,我们通常处理16位或24位的音频样本,其中最低位(LSB)对人的听觉感知影响最小。通过改变这些LSB,可以在不明显影响音频质量的情况下嵌入额外的信息。 在MATLAB中实现LSB语音信息隐藏的步骤大致...
16 4.1 描述 ......................................................................................................................... 16 4.2 屏幕截图 ....................................................