首页 > 试题广场 >

封装的定义和好处有哪些?

[问答题]
什么是封装:隐藏方法实现细节,提供公用接口即可使用,对成员变量和方法设置访问权限。

好处:安全性,可重用性,可维护性。
发表于 2019-09-16 13:05:25 回复(0)

 1、什么是封装?

封装就是将属性私有化,提供公有的方法访问私有属性。


做法就是:修改属性的可见性来限制对属性的访问,并为每个属性创建一对取值(getter)方法和赋值(setter)方法,用于对这些属性的访问。


如:private String name;


public String getName(){


                    return;


           }


        public void setName(String name){


                    this.name=name;


           }


2、  为什么需要封装?


通过封装,可以实现对属性的数据访问限制,同时增加了程序的可维护性。


由于取值方法和赋值方法隐藏了实现的变更,因此并不会影响读取或修改该属性的类,避免了大规模的修改,程序的可维护性增强。


3、  this关键字是什么意思?


有时一个方法需要引用调用它的对象。为此,java定义了this这个关键字。简单地说,


This是在对象内部指代自身的引用。可以直接引用对象,可以解决实例变量和局部变量之间发生的任何同名的冲突。


4、  如何实现封装,实现封装的具体方法?


(1)、修改属性的可见性来限制对属性的访问。


(2)、为每个属性创建一对赋值方法和取值方法,用于对这些属性的访问。


(3)、在赋值和取值方法中,加入对属性的存取的限制。


5、什么是构造方法?构造方法的语法规则?


         构造方法负责对象成员的初始化工作,为实例变量赋予合适的初始值。


构造方法的语法规则:方法名与类名相同。没有返回类型。


使用new关键字实例化对象的过程实际上就是调用构造方法的过程。或者说实例化一个对象实际上就是去调用这个对象的构造方法。


Xin xin=new Xin();


在实例化对象的时候,已经实例变量赋予了初始值,完成了对象的初始化工作。


6、  为什么需要构造方法?


为属性赋值时,很容易忘记对其中的一项或多项进行赋值。构造方法可以简化对象初始化,为实例变量赋值。


7、  带参数的构造方法:可以显示地为实例变量赋予初始值。在不同的条件下创建不同的对象,这些对象的实例变量具有不同的值。


注意:在使用带参数的构造方法实例化对象时,传递的值和构造方法的参数应当在个数、次序和数据类型上相互配备。


通过调用带参数的构造方法,在创建对象时,一并完成了对象的初始化工作,简化了对象初始化的代码。


8、  什么是方法重载?


方法名称相同,参数项不相同。那么认为一个方法是另一个方法的重载方法。


注意:重载只跟参数有关,与返回类型无关。方法名和参数相同而返回类型不相同,不能说是重载。


典型的方法重载:System.out.println();  Sysstem.out代表了一个java.io.PrintSteam对象,具有多个println(打印)方法,该方法可以接收不同类型的数据作为参数根据类型不同,


调用不同的打印方法。


在java.lang包中的Math类中的max方法。


Public static int max(int a,intb);


Public static int max(long a,long b);


Public static int max(float a,float b);


Public static int max(double a,double b);


在调用方法之前,java虚拟机先判断给定的类型,然后决定到底调用执行那个max()方法。



发表于 2018-08-09 17:54:05 回复(1)
信息隐蔽 复用代码 封装变化
发表于 2019-07-27 00:58:25 回复(0)
不是四个访问控制修饰符吗?public procoted default private
发表于 2018-04-05 00:26:09 回复(1)
封装就是将过程和数据包围起来,对数据的访问只能通过自定义的界面。封装有属性封装和方法封装,封装定义了访问这些属性和方法的范围,分别有pubilc,paivare,protect和默认的friendy。封装减少了复杂性,提高了代码的安全性
发表于 2016-12-05 23:52:15 回复(1)
封装定义:利用抽象数据类型将数据和数据有关的操作封装起来,构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能的隐藏内部细节,只提供一些对外的接口使其与外部发生联系。使用者不需要关心封装内部的细节,但可以调用接口来访问该对象。
好处:
减小耦合
减轻维护成本
有效调节性能
提高可重用性
降低构建大型系统的风险
发表于 2020-10-06 21:34:29 回复(0)
封装给对象提供了隐藏内部特性和行为的能力。对象提供一些能被其他对象访问的方法来改变它内部的数据。在Java当中,有3种修饰符:public,private和protected。每一种修饰符给其他的位于同一个包或者不同包下面对象赋予了不同的访问权限。 下面列出了使用封装的一些好处: 通过隐藏对象的属性来保护对象内部的状态。 提高了代码的可用性和可维护性,因为对象的行为可以被单独的改变或者是扩展。 禁止对象之间的不良交互提高模块化。
发表于 2019-05-03 13:50:51 回复(0)
封装就是类的私有化 隐藏内部的行为和实现细节,仅对外提供公共的访问方法
发表于 2019-04-30 09:52:32 回复(0)
封装给对象提供了隐藏内部特性和行为的能力。对象提供一些能被其他对象访问的方法来改变它内部的数据。在Java当中,有3种修饰符:public,private和protected。每一种修饰符给其他的位于同一个包或者不同包下面对象赋予了不同的访问权限。 下面列出了使用封装的一些好处: 通过隐藏对象的属性来保护对象内部的状态。 提高了代码的可用性和可维护性,因为对象的行为可以被单独的改变或者是扩展。 禁止对象之间的不良交互提高模块化。
发表于 2019-04-29 18:55:33 回复(0)
是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。 好处:将变化隔离;便于使用;提高重用性;安全性。 封装原则:将不需要对外提供的内容都隐藏起来,把属性都隐藏,提供公共方法对其访问。
发表于 2019-04-28 20:24:25 回复(0)
封装给对象提供了隐藏内部特性和行为的能力。对象提供一些能被其他对象访问的方法来改变它内部的数据。在Java当中,有3种修饰符:public,private和protected。每一种修饰符给其他的位于同一个包或者不同包下面对象赋予了不同的访问权限。
下面列出了使用封装的一些好处:
通过隐藏对象的属性来保护对象内部的状态。
提高了代码的可用性和可维护性,因为对象的行为可以被单独的改变或者是扩展。
禁止对象之间的不良交互提高模块化。
参考这个文档获取更多关于封装的细节和示例。
发表于 2019-04-27 20:37:54 回复(0)
我感觉访问控制符这种东西对于写产品的人来说,意义确实不太大。大概写框架的人会很有用。毕竟一个写出的东西是给程序猿用,一个写出来的东西是给用户用。
发表于 2018-06-13 10:54:29 回复(0)

一是用private把类的细节与外界隔离起来,从而实现数据项和方法的隐藏,而要访问这些数据项和方法唯一的途径就是通过类本身,类才有资格调用它所拥有的资源(方法,数据项属性等等)。所以第一个好处就是数据的安全性提高了。

二是通过隐藏隔离,只允许外部对类做有限的访问,开发者可以自由的改变类的内部实现,而无需修改使用该类的那些程序。只要那些在类外部就能被调用的方法保持其外部特征不变,内部代码就可以自由改变,各取所需,利于分工。

三就是提高了代码的重用性,封装成工具类以后能够减少很多繁琐的步骤。


发表于 2017-09-19 20:01:42 回复(0)
封装给对象提供了隐藏内部特性和行为的能力。对象提供一些能被其他对象访问的方法来改变它内部的数据。在Java当中,有3种修饰符:public,private和protected。每一种修饰符给其他的位于同一个包或者不同包下面对象赋予了不同的访问权限。
下面列出了使用封装的一些好处:
通过隐藏对象的属性来保护对象内部的状态。
提高了代码的可用性和可维护性,因为对象的行为可以被单独的改变或者是扩展。
禁止对象之间的不良交互提高模块化。
参考这个文档获取更多关于封装的细节和示例。
发表于 2015-10-29 12:10:42 回复(1)