首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

百分求正解!基础题解决办法

2012-04-09 
百分求正解!!!基础题java的三大特性之一的封装:什么是封装?为什么要封装?封装会带来哪些好处?封装的作用是

百分求正解!!!基础题
java的三大特性之一的封装:

什么是封装?
为什么要封装?
封装会带来哪些好处?
封装的作用是什么?
如何实现封装?

求细节,详细解答!!!说明白就有分

[解决办法]
http://wq882519.blog.163.com/blog/static/981767920081015524299/
传送门
[解决办法]
Encapsulation is the technique of making the fields in a class private and providing access to the fields via public methods. If a field is declared private, it cannot be accessed by anyone outside the class, thereby hiding the fields within the class. For this reason, encapsulation is also referred to as data hiding.
封装这种技术可以让外部通过public方法访问该类中私有的区域。如果一个区域被声明为私有,那么它将不能被外部类看到,因此被这个类所隐藏,正是出于这个原因,封装也被用来隐藏数据。
Encapsulation can be described as a protective barrier that prevents the code and data being randomly accessed by other code defined outside the class. Access to the data and code is tightly controlled by an interface.
封装可以被形容为一个保护屏障,它可以防止代码和数据被外部类任意的随机访问。访问数据和代码被接口严格的控制。
The main benefit of encapsulation is the ability to modify our implemented code without breaking the code of others who use our code. With this feature Encapsulation gives maintainability, flexibility and extensibility to our code.
封装主要的好处是可以修改我们自己实现的代码而不必破坏其他人所写的代码。封装有可维护性,灵活性和扩展性。
以下代码就实现了一个简单的封装。

Java code
public class EncapTest{   private String name;   private String idNum;   private int age;   public int getAge(){      return age;   }   public String getName(){      return name;   }   public String getIdNum(){      return idNum;   }   public void setAge( int newAge){      age = newAge;   }   public void setName(String newName){      name = newName;   }   public void setIdNum( String newId){      idNum = newId;   }}
[解决办法]
摘自网络,感觉这样的解释还凑合!

封装性是指的把代码封装到大括号中,只能访问自己内部的数据,外边的东西访问不了.
继承性就是一个类声明继承另一个类,那么另一个类就是它 的父类,父类里边的变量跟方法子类可以直接拿来用,除非父类的访问权限不允许.

最基础的,首先你要了解JAVA中各种修饰词:private,protected,public,friendly,它们的可视范围
一般来说,越小的可视范围带来的是节省资源,和更快的访问速度,所以如果你的类中某些成员变量或方法不需要让所有其它的类访问,最好考虑正确的使用修饰词,以屏弊它被更多的类访问到
正确的使用这些修饰词还可以避免在继承和重载重写时的方法与成员变量的重叠,既便于维护代码,也不会让人产生编码或调用时的歧义.
[解决办法]
探讨

>什么是封装?
就是穿上衣服。

>为什么要封装?
有不想让人看到的地方。

>封装会带来哪些好处?
大家只会注意我长得怎么样,而不会在意我动过手术的刀疤。

>封装的作用是什么?
让大家只注意看应该看的。

>如何实现封装?
穿衣服

[解决办法]
private:
自己什么都能看见。

protected:
和孩子一起洗澡。

public:
暴露狂

friendly:
sex friend
[解决办法]
探讨

>什么是封装?
就是穿上衣服。

>为什么要封装?
有不想让人看到的地方。

>封装会带来哪些好处?
大家只会注意我长得怎么样,而不会在意我动过手术的刀疤。

>封装的作用是什么?
让大家只注意看应该看的。

>如何实现封装?
穿衣服

[解决办法]
探讨

private:
自己什么都能看见。

protected:
和孩子一起洗澡。

public:
暴露狂

friendly:
sex friend

[解决办法]
探讨

>什么是封装?
就是穿上衣服。

>为什么要封装?
有不想让人看到的地方。

>封装会带来哪些好处?
大家只会注意我长得怎么样,而不会在意我动过手术的刀疤。

>封装的作用是什么?
让大家只注意看应该看的。

>如何实现封装?
穿衣服

[解决办法]
一楼给的东西很有用,楼主看看呢。


[解决办法]
封装性是指的把代码封装到大括号中,只能访问自己内部的数据,外边的东西访问不了.
继承性就是一个类声明继承另一个类,那么另一个类就是它 的父类,父类里边的变量跟方法子类可以直接拿来用,除非父类的访问权限不允许.

最基础的,首先你要了解JAVA中各种修饰词:private,protected,public,friendly,它们的可视范围
一般来说,越小的可视范围带来的是节省资源,和更快的访问速度,所以如果你的类中某些成员变量或方法不需要让所有其它的类访问,最好考虑正确的使用修饰词,以屏弊它被更多的类访问到
正确的使用这些修饰词还可以避免在继承和重载重写时的方法与成员变量的重叠,既便于维护代码,也不会让人产生编码或调用时的歧义.
[解决办法]
封装只是一种态度,C语言照样能封装。
由于封装是如此的重要,Java把它内置到语言中,但是如果没有这种态度,比如把所有的东西都放在public中,还是起不到应有的效果。
不好好做几个项目,练习一下,很难真正理解,因为它不是语言的一部分,而是属于对工程的思考。

[解决办法]
也来8卦一下

>什么是封装?
就是数据结构和算法实现隐藏起来,只提供必要的接口来访问。
就好像CPU,只能使用它的外部管脚,并不能直接访问内部的逻辑电路结构或某个元件

>为什么要封装?
通过隐藏内部细节来达到对象的保护
就好像CPU,不能直接访问其内部结构,使得它不能轻易被人篡改或破坏其内部电路逻辑

>封装会带来哪些好处?
封装可以增强安全性,同时还能简化编程,使用者不必了解内部的实现细节,只需知道如何调用外部接口来访问对象而获取希望的结果就可以了 

>封装的作用是什么?
隐藏内部细节,增强安全性;简化编程,增强可维护性

>如何实现封装?
通过访问限制关键字来限定对象内部结构的可见或非可见级别

[解决办法]
这个问题问得好,说明你深入思考了,也就是说你只有调用类提供的set方法才可以修改其值,也就是说,如果这个类不提供给你set方法你就没办法修改其值,这样这个类就实现了封装,简单点说就是你只能修改我允许你修改的值,但是你无法修改我不允许你修改的值。

还是举例子,你的博客提供了回复功能,这样就可以有人回复你,但是你的博客是不允许其他人更改你博客内容的。
[解决办法]

探讨
再问一个问题,如果不封装,按照上面说的,我就可以随意的修改变量的值,那么即使 你用封装了,那么我调用set方法不也同样可以修改其值吗???那么这样封装还有什么作用呢??

[解决办法]
有些东西是靠经验积累的,这个是面向对象的一种思维。
如果你有一堆问题,那么你要把问题分析明白,确定其逻辑结构,抽象成对象。在某个问题层面(范围或深度)上只思考这个层面上的问题,不去考虑下面细节的东西。就比如你们大老板不会考虑你今天的工作完成的怎么样,这个是你的上司考虑的事情。如果你的大老板要考虑你的工作内容,那这就不是封装,那你就直接要对你的大老板和直接上司负责,这样的话,你们公司就乱成一团了。面向对象就要简洁给力,谁该做什么不能做什么不能乱,这个是要水平和经验的!

[解决办法]
这个应该是自己多写一点程序来自己进行理解的,
主要还是安全性的考虑吧。。。
[解决办法]
封装就是,对修改关闭,对扩展开放。
[解决办法]
5楼说的很形象呀
[解决办法]
我们区区凡人是没有一下就搞定所有代码流程的
封装就是我们把一些过程或者数据“包装”成一个整体,一来方便使用,二来免去重复编码,三来屏蔽实现,免得搞晕人~

至于如何封装? 那就太多了~ 小至函数(方法)、大至函数库(类库)巨至框架 …… 都是封装~
[解决办法]
拜托,别一说封装就扯到面向对象…… 跟那些个访问权限修饰符也无关~
好吧 跟我也无关…………

热点排行