JAVA程序中封装与隐藏是什么意思

JAVA程序中封装与隐藏是什么意思,第1张

隐藏就是封装吧。。。。

封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。封装是一种信息隐藏技术,在java中通过关键字private实现封装。什么是封装?封装把对象的所有组成部分组合在一起,封装定义程序如何引用对象的数据,封装实际

上使用方法将类的数据隐藏起来,控制用户对类的修改和访问数据的程度。

封装的简单例子:

先来个例子看看;

public class Man

{

//对属性的封装,一个人的姓名,年龄,妻子都是这个对象(人)的私有属性

private String name

private int age

private Woman wife

//对改人对外界提供方法的封装,可以设定妻子,姓名,年龄也可以获得男人的姓名和年龄

public void setWife(Woman wife)

{

this.wife = wife

}

public String getName()

{

return name

}

public void setName(String name)

{

this.name = name

}

public int getAge()

{

return age

}

public void setAge(int age)

{

this.age = age

}

}

public class Woman

{

//属性封装

private String name

private int age

private Man husband

//方法封装

public String getName()

{

return name

}

public void setName(String name)

{

this.name = name

}

public int getAge()

{

return age

}

public void setAge(int age)

{

this.age = age

}

public Man getHusband()

{

return husband

}

public void setHusband(Man husband)

{

this.husband = husband

}

}

/**

* 仔细看就会发现,Man类没有提供getWife的方法,这是以为男人不想让自己的妻子被外界访问,

*

* 直接下来呢,就是封装可以吧一个对象的属性私有,而提供一些可以被外界访问的属性的方法,

*

* 比如说,name属性,Man和Woman类都有相应的get和set方法,外界都可以通过这些方法访问和修改

*

* 同时对一些改对象不想让外界访问的属性,就不提供其方法,比如说Man的wife属性,就没有get方法

*

* 外界是不能带到Man类的wife属性的

*

*/

上面那例子可能没有突出封装的好处,下面来个超简单的表达下:

public class Show

{

public static void show(String str)

{

System.out.println(str)

}

}

上面就是对 System.out.println()的封装。

调用的时候 :

public class Use

{

public static void main(String[] args)

{

Show.show("封装");

}

}

这样用的时候就不用使:System.out.println("封装");

java类中,是分四种级别的:public,private,保护,和默认级别。其中最常用的是public和private级别。java类封装,就是通过级别来控制的。private级别时,只可以类内部访问。public级别可让其他人使用。所以封住java类时,只要把你想封装的类资源写成private级别,再在类内部给它提供一个可被他人调用的public方法,这样,就实现了封装。大概就是这样吧

封装就是隐藏实现细节

将属性私有化

提供公有方法访问私有属性。

类是基于面向对象思想编程语言的基础

程序员可以把具有相同业务性质的代码封装到一个类里

通过接口方法向外部代码提供服务

同时向外部代码屏蔽类里服务的具体实现方式。对象是类的实例

类一般是个抽象名词

比如“人类”

而对象则是具体的物质存在

比如“张三”

这个人。在现实生活中

经常会遇到“类”

和“对象”

这些概念

比如封装了能实现“全自动洗衣机”

功能的洗衣机类。这里

用户可以使用面板上的按钮

使用该类里提供的洗衣等服务并且

由于该类实现了封装

所以在使用的时候

用户可以不用了解其中的自动洗衣原理以及实现机制。

类是同一种类型的对象的抽象

是某种类型对象的概述和定义

而对象则是某个类的实例化结果或者叫一种类型的实体。在使用面向对象的思想进行软件开发的过程中

首先得抽出项目的实体-对象模型

即首先是实体类的定义、封装。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12017762.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存