今天小编要和大家分享的是编程语言及工具相关信息,接下来我将从面向对象三大特征之一封装简述,js原生代码实现轮播图案例这几个方面来介绍。
编程语言及工具相关技术文章面向对象三大特征之一封装简述
面向对象三大特征之一封装简述
程序自身涵盖两个特点:高内聚 低耦合
高内聚就是类的内部方法我们自己完成
低耦合低耦合就是仅对外暴露少量方法作为使用
封装的设计思想就是:
把描述一个对象的特性和行为封装成一个类 把具体的业务逻辑功能封装成一个
方法, 隐藏对象内部的复杂性,只对外提供简单的接口,便于外界使用,从而提
高系统可扩展性以及可维护性
例子: 洗衣机仅仅只是为我们提供了外部按钮,既可以完成复杂操作
体现:将类的属性进行私有化(private),同时对外提供公共的(public)方法来获取(getxxx)以及设置(setxxx)
封装没有private、default、protected、public四大修饰符,那就不再是封装。。。
修饰类只能是public以及default(可有可不有)
封装是面向对象三大特征中最好理解的,什么意思呢,说白了,就是要把关键的,没必要给其他人看的逻辑和熟悉密封好,装起来,不让其他人看。
那怎么去做的?对,没错,就是用private!
在方法和属性前边加上private后,就封装了某些属性和某些方法,他们就不会对外公开了。
先说好处:
1、减少其他人看你类的时间,让调用的人看你代码更简单
2、由于属性和某些方法封装起来了,那让你的代码逻辑更安全!
那大家有好多问题了,首先就是质疑以上的两点好处:
1、我写的代码比如Person这个类,如果我想知道里边的逻辑,我直接打开去看不就好了,private的我也能看到,怎么会减少时间,调用的人看代码怎么会简单?
2、封装起来后我并没有觉得简单啊?代码我还是能看到啊,跟我一起工作的同事也能看到啊?安全在哪里?
如果有这两点疑问很正常,说明大家学的还是很走心的。
那我回答一下第1个问题:
第一种场景:实际工作中,我们写的代码量是远远大于Person这类的,一个类会有几百行甚至上千行,那方法甚至会有几十个,可能这个类就完成几个简单的功能,却有几十个方法来协同工作,所以只需要把这几个简单的功能公开出来就好。