什么是封装?

来源:互联网 发布:像初页一样的软件 编辑:程序博客网 时间:2024/04/28 18:10

封装:就是把对象的细节,比如:美女的年龄、帅哥的收入等等属性、方法啥的,给藏起来了,不被外界直接看到。

现实中,洗手间或厨房的下水管道,都是封装在墙里的吧,程序里封装也是如此,可以避免人为因素造成的错误,封装反映了事物的相对独立性,封装在编程中的作用就是使对象以外的部分不能随意更改对象的属性,从而有效避免了外部错误对此对象的影响。并且,对于对象的使用者的疏忽大意的错误操作也起到预防作用。同样,面向对象编程提倡对象之间实现松耦合关系。啥叫松耦合?就是指尽量减少对象之间的关联性,以降低它们之间的复杂性和依赖性。如果各个对象之间关系错综复杂,乱七八糟的,那你处理起来是不是麻烦呀?封装在面向对象的编程中,是最基本的最重要懂的内容之一。

封装:指的是将东西包装在一起,然后以新的完整的形式呈现,对于面向对象而言,封装就是将方法和属性包装到一个程序单元中,并且将这些单元以类的形式实现,封装就是将属性私有化,提供公有方法来访问私有的属性,那么这样的一个类就是实现了封装特性的类。

封装步骤:

1、 需要修改属性的可见性来先限制对属性的访问看这个段代码:


本来我们定义的年龄age时,使用的是public来修饰,那么对于第一步的操作,我们通常是将这个public修改为privatePrivate表示私有的,一旦类的成员变量声明为private,那么就只能在类的内部对其进行访问,外部就无权进行访问了,这样就达到了修改属性的可见性,来限制对属性的访问的目的了。

2、 为每个属性创建一对赋值方法和取值方法,用于对这些属性的访问,也就是添加setget方法,对于属性的访问操作,一般都有读取和赋值操作,因此,我们分别定义两个public标识符,来修饰赋值方法和取值方法。赋值方法就是set**(),对应取值方法就是get**()。比如代码中对年龄age的读写,getAge()setAge()

3、 对属性进行有效验证,比如:年龄不能小于0岁不能超过150岁,性别必须是男、女等,也就是加入对属性的存取限制。

封装,在某种程度上说,是一个设计思想的范畴,它所蕴含的内容很多。


0 0