一、面向对象特征之一:封装性
1.为什么需要封装性?
理论上: -高内聚
:类的内部数据操作细节自己完成,不允许外部干涉; -低耦合
:仅暴露少量的方法给外部使用,尽量方便外部调用。
通俗的说:把该隐藏的隐藏起来,该暴露的暴露出来。这就是封装性的设计思想。
2.如何实现数据封装?
2.1 权限修饰符 Java规定了4种权限修饰,分别是:private、缺省、protected、public
2.2 作用 我们可以使用4种权限修饰来修饰类及类的内部成员。当这些成员被调用时,体现可见性的大小。
2.3 4种权限具体使用
修饰符 | 本类内部 | 本包内 | 其他包的子类 | 其他包非子类 |
---|---|---|---|---|
private | √ | × | × | × |
缺省 | √ | √ | × | × |
protected | √ | √ | √ | × |
public | √ | √ | √ | √ |
类:只能使用public、缺省修饰 类的内部成员:可以使用4种权限修饰进行修饰。
2.4开发中4种权限使用频率的情况: 比较高:public、private 比较低:缺省、protected
3.封装性的体现
场景1:私有化(private)类的属性,提供公共(public)的get和set方法,对此属性进行获取或修改 场景2:将类中不需要对外暴露的方法,设置为private. 场景3:单例模式中构造器private的了,避免在类的外部创建实例。
二、类的成员之三:构造器(constructor),构造方法
1.构造器的理解
constructor :n. 建设者、建造者 construct:v. 建设、建造、创造 construction: n. 建设、建造 CCB
2.构造器的作用
作用1:搭配new关键字,创建类的对象 作用2:在创建对象的同时,可以给对象的相关属性赋值
3.构造器的使用说明
构造器声明的格式:权限修饰符 类名(形参列表){} 创建类以后,在没有显示提供任何构造器的情况下,系统会默认提供一个空参的构造器,且构造器的权限 与类声明的权限相同。 一旦类中显示声明了构造器,则系统不再提供默认的空参的构造器。 一个类中可以声明多个构造器,彼此之间构成重载。
三、类中属性(当前仅考虑实例变量)赋值过程:
1.在类的属性中,可以有哪些位置给属性赋值?
① 默认初始化; ② 显式初始化; ③ 构造器中初始化;
④ 通过"对象.方法"的方式赋值; ⑤ 通过"对象.属性"的方式赋值;
2.这些位置执行的先后顺序是怎样?
① - ② - ③ - ④/⑤
3.以上操作在对象创建过程中可以执行的次数如何?
只能执行一次:①、②、③ 可以多次执行:④、⑤
四、JavaBean的理解
所谓JavaBean,是指符合如下标准的Java类:
-
类是公共的
-
有一个无参的公共的构造器
-
有属性,且有对应的get、set方法
五、读懂UML类图
UML(Unified Modeling Language,统一建模语言),用来描述 软件模型 和 架构 的图形化语言。
常用的UML工具软件有 PowerDesinger 、 Rose 和 Enterprise Architect 。
UML工具软件不仅可以绘制软件开发中所需的各种图表,还可以生成对应的源代码。
在软件开发中,使用 UML类图 可以更加直观地描述类内部结构(类的属性和操作)以及类之间的关
系(如关联、依赖、聚合等)。
+表示 public 类型, - 表示 private 类型,#表示protected类型
方法的写法: 方法的类型(+、-) 方法名(参数名: 参数类型):返回值类型
斜体表示抽象方法或类。