一、面向对象程序设计(OOP)的三大基本特征(定义、特性、优缺点、java中的表现形式、应用)
1.封装
封装的定义
通俗的说:普通人对计算机进行应用操作,只需知道如何在计算机上连网,如何浏览网页,下载东西等。不需要知道网络的具体底层搭建,计算机的基本结构组成(这些可以看作被封装)。
对于编程来说:将对象的属性(状态)和方法(行为)封装成一个类。而这个类可以有很多对象。举例:人这个类(class),可以有很多不同的人(每个人即为每个对象),而人都有相同的属性描述词(身高,体重),也有相同的行为描述词(吃,喝,睡)。程序语言则将属性描述词定义为对象的属性,行为描述词定义为方法。
简单来讲: 将现实世界的事物抽象成计算机领域中的对象,对象同时具有属性和行为,这种抽象就是封装.
封装的特性
封装的一个重要特性: 数据隐藏. 对象只对外提供与其它对象交互的必要接口,而将自身的某些属性和实现细节对外隐藏,通过这种方式,对象对内部数据提供了不同级别的保护,以防止程序中无关的部分意外的改变或错误的使用了对象的私有部分。这样就在确保正常交互的前提下,保证了安全性.
封装的表现形式
1)对象属性和方法的封装,使用private,protected,public设置访问权限
2)类的封装,将多个类封装到一个jar包中
封装的好处
1)通过隐藏对象的属性来保护对象内部的状态(隐藏信息、实现细节)。
2)提高了代码的可用性和可维护性,因为对象的行为可以被单独的改变或者是扩展(将变化隔离,类内部的结构可以自由修改,增加内部实现部分的可替换性)。
3)禁止对象之间的不良交互提高模块化(良好的封装能够减少耦合)。
4)可以对成员变量进行更精确的控制。
5)容易保证类内部数据间的一致性,从而提高软件的可靠性。
封装的弊端
因为有时候,class被封装在jar中,即class中,没办法去逐步去看源代码。
封装,即将class文件放入jar,供java文件调用,是j