预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共91页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第3章Java面向对象编程基础学习要点:面向对象是一种新兴的程序设计方法,或者是一种新的程序设计规范,其基本思想是使用对象、类、继承、封装、消息等基本概念来进行程序设计。从现实世界中客观存在的事物(即对象)出发来构造软件系统,并且在系统构造中尽可能运用人类的自然思维方式。对象是系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组服务组成。图2.1对象、实体与类设计方法3.1.2面向对象的几个基本概念对象的关系包含——当对象A是对象B的属性时,称对象B包含对象A;如:学生和班级,CPU与计算机继承——当对象A是对象B的特例时,称对象A继承了对象B如:北京大学和大学,液晶显示器和显示器。关联——当对象A的引用是对象B的属性时,称对象A和对象B之间是关联关系。如计算机与制造商,学生和班主任方法(Method)——与对象相联系的由程序执行的一个处理过程,类似于面向过程中的函数。事件(Event)——由对象识别的一个动作。面向对象的程序设计是通过对类、子类和对象等的设计来体现的,类和对象是面向对象程序设计技术的核心。继承性(inheritance)继承方式:简单继承(singleinheritance):一个类至多只能继承一个类(树结构)。多重继承(multipleinheritance):一个类直接继承多个超类(网状结构)。例:一个图形系统()3.1.3面向对象的软件开发过程(1)面向对象的分析(OOA——objectorientedanalysis)使用OOA的原因如下:(1)它使我们能在人类概括客观事物的三个基本方法(对象及属性、一般—特殊结构和部分—整体结构)的框架上进行定义和交流。(2)它首先着眼于问题空间的理解。(3)它将属性及专用于那些属性的方法视为一个固有的整体。(4)使用自包含分块(对象之间依赖性最小)进行分析和说明。(5)它提供一个支持分析和设计一致的强有力的表示工具。(6)它能适应系列变化的系统和对当前实际运行系统的调整。常使用的OO(描述)方法有多种:Coad&Yourdon的OOA模型的5个层次对象—类层:找到要开发的应用软件所对应的各个现实世界的实体,并从中抽象出类和对象。静态属性层:为对象—类层中抽取出来的各个类和对象设计静态属性和它们之间的约束关系。服务层:定义对象和类的动态属性以及对象之间的消息通信。结构层:定义系统中所有对象和类之间的层次结构关系。主题层:将系统定义为若干主题(即子系统),把有关对象划归不同的主题。从面向对象的分析到面向对象的设计(2)面向对象的设计(OOD——objectorienteddesign)(3)面向对象的实现(OOP——objectorientedprogramming)面向对象的软件开发过程小结3.1.4面向对象程序设计的四个特点3.1.5面向对象程序设计的三大优点可管理性3.2Java的类3.2.2Java中常用的包(4)java.awt包是Java语言用来构建图形用户界面(GUI)的类库。低级绘图操作——Graphics类等java.awt图形控件和布局——Container类、Checkbox类、LayoutManager接口等界面用户控制和事件响应——Event类(5)java.applet包是用来实现在Internet浏览器中运行JavaApplet的工具类,其中包含一个非常有用的类java.applet.Applet。(6)java.awt.event包是对Event类的一个扩充,可以用不同方式来处理不同类型的事件,并使每个图形界面元素本身可以拥有处理它上面事件的能力。3.2.3使用系统类库的方式3.2.4创建Java自定义类的方法(1)声明类头:关键字class(2)声明类体:定义类的具体内容,包括类的属性与方法[类的属性]:可以是简单变量,也可以是对象、数组等其他复杂数据结构。声明类属性为简单变量的语法:[修饰符]变量类型变量名[=变量初值];例:intpassword;声明类属性为对象的语法:[修饰符]类名对象名[=new类名(实际参数列表)];例:PhoneCardmyCard=newPhoneCard();修饰符有访问控制符、静态修饰符static、最终修饰符final、易失修饰符volatile和过渡修饰符transient。[类的方法]:类中的“变量”概念辨析:类中的“方法”概念辨析:本类中方法与变量之间的访问关系classPhoneCard//定义一个电话卡类{longcardNumber;privateintpassword;doublebalance;StringconnectNumber;booleanconnected;booleanperformConnection(longcn