java基础(一)——封装

来源:互联网 发布:红蜘蛛软件彻底卸载 编辑:程序博客网 时间:2024/05/16 08:15
1.什么是java的封装

信息隐藏。隐藏对象的属性和实现的细节,仅对外提供公共访问方式。

2.怎么实现封装
一般使用private访问控制符实现,将对象的成员变量和实现细节隐藏起来,不允许外部直接访问;
把方法暴露出来,让方法控制这些成员变量,进行安全的访问和操作。
3.封装有什么好处
a.数据安全性提高了。private封装了类的数据项属性和方法实现细节,只有对象本身才能调用自己的资源,可以对数据的合法性进行校验
(可以想象一下,如果age/name/sex都变为public的,那么外部可以赋值任何数据,导致非法的数据也会放到对象里面,这是不应该的)
package com.glut.edu.xupk.model;public class Person {private int age;private String name;private String sex;public int getAge() {return age;}//设置年龄在1~150之间,校验合法性public void setAge(int age) {if(age < 0 || age > 150){throw new IllegalArgumentException("年龄需在1~150之间,请检查!");}this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getSex() {return sex;}//设置性别只能是男女public void setSex(String sex) {if(!("男".equals(sex) || "女".equals(sex))){throw new IllegalArgumentException("性别只能是男或女,请检查!");}this.sex = sex;}}


b.隐藏了内部实现,可以随时对方法内部细节进行修改,而无需修改调用该方法的代码。只要保持得到的结果是正确的,内部代码就能自由改变,降低耦合度
c.降低了代码的耦合度,封装成工具类可以减少很多繁琐的步骤

举例说明:
a.生活中的例子
比如汽车的刹车,我们都知道,只要刹车不失灵,一脚踩下刹车,那么车子就会刹住;至于它内部工作原理是怎样的,我想一般的司机是不用理会它的。刹车坏了,给修车师傅修就好啦,专才专用嘛。这里的刹车就是一个封装,把汽车看作一个对象,刹车是对象的一个方法,刹车的功能是把车子刹住,使用刹车的方法就是踩下刹车踏板,这就是它对外提供的信息。如果我想换刹车的内部实现,比如我原来用的是鼓式刹车,我现在要换成盘式刹车,那我可以随意换,只要原来的功能没变就行,我一脚踩下刹车踏板,车子还是能刹住就OK啦

package com.glut.edu.xupk.model;public class Car {public void brake(){//刹车的内部具体实现,可以改变实现,只要最终结果不变就行了System.out.println("车子刹住了!!!");}public static void main(String[] args) {Car car = new Car();//这里直接调用刹车方法,并不关心内部实现细节car.brake();}}

才疏学浅,仅仅是入门知识,如有错漏,还请各位大大指正

原创粉丝点击