java复习第三部分

#3 第三部分:Java面向对象
##面向对象设计思想
###对象
在现实世界中是一个实体或者一个事物的概念,可以看作是一种具有自身属性和功能的构件
不关心其内部结构及实现方法,仅仅关心他的功能和她的使用方法,也就是该对象提供给用户的接口
类似于电视机这个对象,用户只关心如何来使用,而不关心其内部结构
对象将其属性和操作的一部分对外界开放,作为对外接口,将大部分实现细节封装起来,这是对象的封装性。外界只能通过对象提供的接口来与对象进行交互
一个系统由多个对象组成,复杂的对象可由简单对象组成,称为聚合。对象之间的相互作用(通信)构成了软件系统的结构
###类
同样类型对象的抽象
对象是类的实例(具体化)
对相关类进行分析,抽取其共有的特点形成基类
通过继承,派生类可以包含积累的所有属性和操作,增加术语自己的一些特性。通过继承还可以将原来一个个孤立的类联合起来,形成层次清晰的结构关系,形成类族
面向对象的方法就是利用抽象,封装等机制,借助于对象,类,继承,消息传递等概念进行软件系统构造的软件开发方法
#面向对象的基本思想
从现实世界中客观存在的事物出发来建立软件系统,强调直接以问题域(现实世界)中的事物为中心来思考问题、认识问题,并根据这些事物的本质特征,把它们抽象地表示为系统中的对象,作为系统的基本构成单位。这可以使系统直接映射问题域,保持问题域中事物及其相互关系的本来面貌(对象)
用对象的属性表示事物的性质;用对象的操作表示事物的行为。(属性与操作)
对象的属性与操作结合为一体,成为一个独立的、不可分的实体,对外屏蔽其内部细节。(对象的封装)
对事物进行分类。把具有相同属性和相同操作的对象归为一类,类是这些对象的抽象描述,每个对象是它的类的一个实例。 (分类)
复杂的对象可以用简单的对象作为其构成部分。(聚合)
通过在不同程度上运用抽象的原则,可以得到较一般的类和较特殊的类。特殊类继承一般类的属性与操作,从而简化系统的构造过程及其文档。(继承)
类具有封闭性,把内部的属性和操作隐藏起来,只有公共的操作对外是可见的。 (类的封闭性)
对象之间通过消息进行通讯,以实现对象之间的动态联系。   (消息)
通过关联表达类(一组对象)之间的静态关系。(关联)

#面向对象的分析与设计
 面向对象的分析(Object Oriented Analysis, OOA),就是运用面向对象方法进行系统分析。其基本任务即运用面向对象方法,对问题域和系统责任进行分析和理解,找出描述问题域及系统责任所需的对象,定义对象的属性、操作以及它们之间的关系。其目标是建立一个符合问题域、满足用户需求的OOA模型。

OOA是分析,是软件生命周期的一个阶段,具有一般分析方法共同具有的内容、目标及策略;强调运用面向对象方法进行分析,用面向对象的概念和表示法表达分析结果。

问题域(problem domain):被开发系统的应用领域,即在现实世界中由这个系统进行处理的业务范围。

系统责任(system responsibilities):所开发的系统应该具备的职能。
  从OOA到OOD不是转换,是调整和增补。使OOA作为OOD模型的问题域部分;增补其它四个部分,成为完整的OOD模型。

有不同的侧重点和不同的策略

OOA主要针对问题域,识别有关的对象以及它们之间的关系,产生一个映射问题域,满足用户需求,独立于实现的OOA模型。

OOD主要解决与实现有关的问题,基于OOA模型,针对具体的软、硬件条件(如机器、网络、OS、GUI、DBMS等)产生一个可实现的OOD模型。

#类中成员变量的定义与意义
各参数的含义如下。
public、protected、private:用于表示成员变量的访问权限。
static:表示该成员变量为类变量,也称为静态变量。
final:表示将该成员变量声明为常量,其值无法更改。
type:表示变量的类型。
variable_name:表示变量名称。

构造方法的定义和调用

	public class HelloWorld {
private String name;//姓名
private int age;//年龄
}

#局部变量和成员变量的作用域问题

成员变量:(1)定义在类里,方法之外的变量。

(2)成员变量可以不显式初始化,它们可以由系统设定默认值;

(3)成员变量在所在类被实例化后,存在堆内存中

局部变量:(1)定义在方法体内部的变量。

(2)局部变量没有默认值,所以必须设定初始赋值。

(3)局部变量在所在方法调用时,存在栈内存空间中

#静态属性、静态方法、静态代码块
加载顺序:静态变量(静态代码块或静态函数)>普通属性 > 普通代码块 > 构造函数 > 普通函数

                    静态变量、静态代码块、静态函数的加载顺序由它们所在的位置有关

           执行顺序:静态变量(静态代码块) > 普通属性 > 普通代码块 > 构造函数  

                    静态函数和普通函数只有被调用才会执行

#例题1
public class HelloWorld {
private static final int i;
static{
i=4;
}
public static void main(String[] args) {

    System.out.println(i);
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值