`
liuwei1981
  • 浏览: 771860 次
  • 性别: Icon_minigender_1
  • 来自: 太原
博客专栏
F8258633-f7e0-30b8-bd3a-a0836a5f4de5
Java编程Step-by...
浏览量:161204
社区版块
存档分类
最新评论

16.信息的隐藏

 
阅读更多

面向对象的三大特征:封装、继承与多态。

 

只要某个编程语言是属于面向对象编程语言,它就必须具有这三个特征。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.docx

    16. 信息化能力建设涉及硬件和软件两个方面,硬件包括信息基础设施,软件则涵盖管理和应用层面的能力。 17. 民族的历史文化传统是文化结构的重要内容,对信息化进程有着直接的影响,因为它决定了对新技术接受的程度...

    24位BMP位图信息隐藏和读取(c语言实现)

    本项目聚焦于24位BMP位图中的信息隐藏和读取,这涉及到数字图像处理、位运算以及文件I/O等多个知识点。 首先,24位BMP位图每像素由红、绿、蓝三种颜色的8位组成,共24位。这意味着每个像素可以表示16,777,216种颜色...

    简单二值隐写算法.zip_md5_信息隐藏_信息隐藏算法_程序

    在IT领域,信息隐藏是一种重要的技术,用于在数据中嵌入秘密信息,使得这些信息对非授权者不可见。在给定的“简单二值隐写算法.zip”压缩包中,我们关注的是一个利用MD5(Message-Digest Algorithm 5)进行信息隐藏...

    魔法隐藏2006绿色版.rar

    可以设置任一进程优先级,可以强行结束进程,可以显示进程的详细信息,可以强行结束进程的DLL模块。  8.MagicHide除了提供了热键隐藏窗口以外,还提供了鼠标隐藏窗口的功能,同时按下鼠标的左右键即可隐藏当前...

    MP3Stego_1_1_16.zip_MP3Stego_1_1_16.rar_audio watermarking_mp3数字

    MP3Stego_1_1_16是一个用于在音频文件中嵌入隐藏信息的工具,特别关注于在MP3格式的音频文件中实施数字水印技术。数字水印是信息安全领域的一个重要分支,主要用于保护版权和验证内容的原始性。在本案例中,MP3Stego...

    BashSupport-1.7.16.192.zip

    4. **代码折叠**:允许用户隐藏不相关的部分,使脚本看起来更整洁。 5. **命令历史**:快速访问以前输入过的命令,便于重复使用或修改。 6. **别名和函数**:简化常用命令,创建自定义功能。 7. **脚本调试**:提供...

    信息隐藏算法研究及实现.pdf

    根据提供的文件信息,本文将深入探讨信息隐藏技术及其在JPEG图像中的应用,重点解析离散余弦变换(DCT)在这一过程中的作用,并简要介绍JPEG编码的基本步骤。 ### 信息隐藏技术概述 信息隐藏技术是一种新型的信息...

    基于LSB算法的图像信息隐藏与检测.docx

    具体来说,LSB算法通常用于8色、16色、256色以及24位真彩色图像的信息隐藏。 - **对于256色图像**:每个字节存储一个像素点,意味着一个像素点可以隐藏1位信息。例如,一张640×480像素的256色图像至少可以隐藏640...

    alcormp最新量产工具v2010.12.16.rar

    最新版本的安国alcormp量产工具AlcorMP_UFD 5T2F,Version: 10.12.16支持6987T主控优化方式:U盘容量优先 U盘速度优先 原低格设定装置方式模式设定:普通盘、本地盘、只读盘、加密盘、写保护盘、CDROM启动盘;...

    中职网络安全竞赛-隐藏信息探索-web2-自己建立的题目环境

    隐藏信息探索-web2 1、通过URL访问http://靶机IP/1,对该页面进行渗透测试,将完成后返回的结果内容作为 FLAG值提交; 访问页面是一个加法计算题目:****但是输入框里面只能输入一个数字,打开开发者模式修改...

    二维条码研究

    ……16 2.6错误检测与纠正..................................................................................................17 2.6. 1纠错等级...............................................................

    隐藏OD插件 StrongOD.

    StrongOD通过一系列技术手段,如模拟API调用、隐藏调试标志、混淆内存信息等,有效地隐藏了OllyDbg的存在,使得被调试程序无法察觉到调试活动,从而能够顺利进行分析。 具体来说,StrongOD的隐藏技术主要包括: 1....

    一键GHOST v2016.02.16 硬盘版.zip

    17,诊断报告功能可自动收集系统信息,为作者对软件的日后改进提供线索. 18,帮助文档,图文并茂,易学易会,网上论坛,在线答疑. 一键GHOST v2016.02.16 更新日志 增加3个GRUB4DOS启动自定义ISO菜单选项 更新Disk...

    MATLAB实现LSB语音信息隐藏实验【语音信号处理实战】.zip

    在本实验中,我们将深入探讨MATLAB在语音信息隐藏领域的应用,特别是在低频位替换(Least Significant Bit,LSB)技术中的使用。语音信息隐藏是一种安全通信技术,它允许在音频文件中嵌入秘密信息,使得这些信息在不...

    Magisk_AsoulOpt_A.16.zip

    它允许用户安装各种模块来增强设备功能,如root权限管理、系统隐藏、内核调整等。Magisk的工作原理是通过替换系统启动分区中的特定文件,使得模块可以在设备启动时自动加载。 2. **AsoulOpt**:这可能是模块的核心...

    信息隐藏标准测试图片库

    《信息隐藏与数字水印:探索标准测试图片库的奥秘》 信息隐藏与数字水印是现代信息安全领域中的重要技术,它们旨在保护多媒体数据的完整性、来源认证以及版权保护。一个广泛使用的测试资源,即“信息隐藏标准测试...

    基于Internet网络协议的信息隐藏技术

    ### 基于Internet网络协议的信息隐藏技术 #### 摘要 随着互联网技术的快速发展,网络信息安全成为了社会各界关注的重点领域之一。为了更好地保护敏感信息,信息隐藏技术逐渐成为研究的热点。信息隐藏技术旨在通过...

    matlab实现LSB语音信息隐藏实验

    在语音信息隐藏中,我们通常处理16位或24位的音频样本,其中最低位(LSB)对人的听觉感知影响最小。通过改变这些LSB,可以在不明显影响音频质量的情况下嵌入额外的信息。 在MATLAB中实现LSB语音信息隐藏的步骤大致...

    ETL工具Kettle用户手册

    16 4.1 描述 ......................................................................................................................... 16 4.2 屏幕截图 ....................................................

Global site tag (gtag.js) - Google Analytics