首页 / JAVA / Java-面向对象-封装
Java-面向对象-封装
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java-面向对象-封装,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1791字,纯文字阅读大概需要3分钟。
内容图文
Java-面向对象-封装
简单概念
封装(Encapsulation)是面向对象方法地重要准则,就是把对象地属性和操作(或服务)结合为一个独立地整体,并尽可能隐藏对象地内部实现细节。封装可以被认为是一个保护屏障,防止该类地代码和数据被外部定义地代码随意访问。
- 要访问该类地代码和数据,必须通过严格的接口控制。
- 适当的封装可以让代码更容易理解与维护,也增强了代码地安全性。
封装的优点
- 良好的封装能够减少耦合。
- 类内部的结构可以自由修改。
- 可以对成员变量进行更精确的控制。
- 隐藏信息,实现细节。
代码实现
public class Packaging {
private String name;
private int age;
public void setName(String name){
this.name = name;
System.out.println(name);
}
public void setAge(int age){
this.age = age;
System.out.println(age);
}
}
public class PackTest {
public static void main(String[] args) {
Packaging zhangsan = new Packaging();
zhangsan.setName("张三");
zhangsan.setAge(22);
}
}
这样的好处是,如果后期有需要改的地方,比如数据类型(如把age修改成double类型)。当不使用封装,这个数据被在多个地方使用了多次,那改起来就很麻烦,而使用封装就简单多了。可以看出,封装可以使我们更容易地修改内部实现,而无需修改该类地客户代码。
再看一个例子:
public class Packaging {
private String name;
private int age;
public class Packaging {
private String name;
private int age;
public void setName(String name){
this.name = name;
System.out.println(name);
}
public void setAge(int age){
if(age >120){
System.out.println("不合法的年龄!")
}else{
this.age = age;
}
}
}
可以看出封装的另一个好处:可以对成员变量进行更精确的控制。
上面都是对setter方法的控制,其实通过使用封装我们也能够对对象的出口做出很好的控制。例如性别我们在数据库中一般都是已1、0方式来存储的,但是在前台我们又不能展示1、0,这里我们只需要在getter()方法里面做一些转换即可。
public String getSex() {
if("0".equals(sex)){
sexName = "女";
}
else if("1".equals(sex)){
sexName = "男";
}
else{
sexName = "人妖?";
}
return sexName;
}
内容总结
以上是互联网集市为您收集整理的Java-面向对象-封装全部内容,希望文章能够帮你解决Java-面向对象-封装所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。