所谓封装,就是字面意思,把一个东西装起来,只留下一个"门"给有需要的"人"访问使用.就好比我们的电视机,厂家把所有内部细节都封装起来,包括换台键,声音调节键,开机关机键等,我们只需要使用遥控器就可以完成对应的操作.这个过程就是使用到前面所说的"门",更专业的说法叫接口.通俗的来说,封装就是对数据的隐藏,而遵循的原则就是该露的露,该藏的藏.这里要清楚,封装主要是针对类的属性进行操作将类的属性"藏"起来.
在我们的生活中,建立一个类(银行),然后将里面的属性进行私有化,所以我们可以知道,所有在封装类内部的属性都需使用private修饰符,来达到属性私有化,从而做到封装.这样操作之后,我们在实现类就不能直接调用类的属性了,这个时候又引出一个问题,我们怎么访问封装的类里面的属性呢?
这里要访问封装类属性就需要"门"了,这里的门就是操作封装类属性的方法,这里提供了public的get和set的方法,get可以获得数据,set可以可以给这个数据设置值.get/set方法可以使用快捷键alt+insert:getter and setter快捷实现,综上所述我们来看看代码实现:
//封装一般用于属性 //private:私有 public class Student {//属性私有private String name;//姓名private int age;//年龄//提供可以操作属性的方法(public的get,set方法)public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {if (age>120 || age<0){this.age = 3;}else{this.age = age;}} }
在封装类写下get.set方法后,在实现类就可以通过get/set方法对封装类的基础属性进行操作:
public class Test {public static void main(String[] args) {Student s1 = new Student();s1.setName("麦乐鸡侠");s1.setAge(20);System.out.Age());//20System.out.Name());//麦乐鸡侠} }
在我们程序设计中,一直追求"高内聚,低耦合",高内聚就是类的内部数据操作细节自己完成,不允许外部干涉;低耦合就是仅暴露少量的方法给外部使用.这里引入一个例子就是银行,高内聚就好比在银行内部,具体是怎么个构成,管理整个银行运作的各个细节都是由内部人员管理;低耦合就是对银行我们有取钱,存钱这个方法,每个"用户"只能对自己的银行账户进行操作,但围绕银行又有很多操作,但只会提供一些最基本且有意义的操作给客户.而对于客户的一些操作,还能进行判断,来保证程序的安全性.
1.提高程序的安全性,可以保护内部数据(在set方法可以对调用处的数据进行判断)
2.隐藏代码的实现细节
3.统一接口(get/set方法)
4.便于修改内部代码,提高系统的可维护性
本文发布于:2024-01-31 01:58:05,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170663748824517.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |