Java学习笔记——第3篇
面向对象
结构化程序的任何一个结构都具有唯一的入口和唯一的出口,并且程序不会出现死循环。
虽然Java是面向对象的,但Java的方法里则是一种结构化的程序流。
面向对象的基本思想:类、对象、继承、封装、消息……
采用面向对象方式开发的软件系统,其最小的程序单元是类,这些类可以生成系统中的多个对象。
面向对象的语言不仅使用类来封装一类事物的内部状态数据,,还会提供操作这些状态数据的方法。
成员变量(状态数据)+方法(行为)=类定义
面向对象方法具有三个基本特征:封装、继承、多态
封装:将对象的实现细节隐藏起来,然后通过一些公用方法来暴露该对象的功能;
继承:面向对象实现软件复用的重要手段,当子类继承父类后,子类作为一种特殊的父类,将直接获得父类的属性和方法。
多态:多态指的是子类对象可以直接赋值给父类变量,但运行时依然表现出子类的行为特征,这意味着同一个类型的对象在执行同一个方法时,可能表现出多种行为特诊。
抽象也是面向对象的重要部分
由于多继承可能引起继承结构的混乱,而且会大大降低程序的可理解性,所以Java不支持多继承
“基于对象”≠“面向对象”
基于对象也使用了对象,但是无法利用现有的对象模板产生新的对象类型,继而产生新的对象。JavaScript语言就是基于对象的,它使用一些封装好的对象,调用对象的方法,设置对象的属性,但是他们无法让开发者派生新的类,开发者只能使用现有对象的方法和属性。
UML(统一建模语言)介绍
面向对象软件开发需要经过:OOA(目标系统分析,建立分析模型) /OOD(用面向对象的思想细化OOA的结构)/ OOP(编程)
uml是用来描述、记录OOA 和OOD结果的符号表示法。
最常用的UML图包括:用例图,类图,组件图,部署图,顺序图,活动图和状态机图等。
Java的面向对象特征
一切都是对象
在Java语言中,除八个基本数据类型值之外,一切都是对象,而对象就是面向对象程序设计的中心。
对象具有状态,一个对象用数据值来描述它的状态。
对象还具有操作,这些操作可以改变对象的状态,也称之为行为。
Java语言不允许直接访问对象,而是通过对对象的引用来操作对象。
类和对象
类是对一类事物的描述,是抽象的,概念上的定义。
对象是实际存在的该类事物的个体,因此也称为实例
对象的抽象化就是类,类的具体化就是对象。
Java语言使用class关键字定义类,定义类时可使用成员变量来描述该类对象的数据,可使用方法来描述该类对象的行为特征。
类间关系:
①一般→特殊关系(典型的继承关系,Java中使用extends关键字来表示这种继承关系,is a)
②整体→部分结构关系(组装结构,典型的组合关系,Java通过在一个类里保存另一个对象的引用来实现这种组合关系,has a)