什么是面向对象(名词解释):
-
面向 Oriented(adj. 以...为导向的,以…为目标的)
-
对象 Object(n. 物体;目标;客体,对象)
-
面向对象(Object Oriented)
-
以对象为导向,围绕对象
-
-
面向对象思想、面向对象方法
面向对象相比面向过程的软件开发的优点:
-
维护性好
-
扩展性好
-
重用性好
-
开发效率高
面向对象定义:面向对象方法是一种以对象为导向,围绕对象来开发应用程序的软件开发方法
面向对象和方法的内涵:
-
以对象为导向(围绕对象来分析、设计和编码实现应用程序)
-
封装特性(提高代码维护性)
-
继承特性(提高代码重用性)
-
多态特性(提升代码扩展性)
-
抽象特性(提升开发效率)
按软件开发的顺序依次分为:(面向对象开发方法三个部分)
-
面向对象分析(OOA:Object Oriented Analysis)
-
面向对象设计(OOD:Object Orented Design)
-
面向对象编程(OOP:Object Orented Programming)
面向对象的具体方法(面向对象发展过程中逐步产生的)(面向对象开发方法的外延)
-
Booch面向对象开发方法(1982年由Booch提出)
-
Coad面向对象开发方法(1989年由Coad和Yourdon提出)
-
OMT面向对象的建模与设计(1991年由James Rumbaugh提出)
-
UML统一建模语言(1995-1997年出现)
对象的定义:对象是人们在行动或思考时作为目标的事物
对象的分类:
-
有形对象
-
无形对象
计算机中的对象:Object(n.对象,物体;目标;客体)
计算机的对象的定义:计算机中的对象是客观世界中的对象在计算机中的映射
特征 --> 属性 行为 --> 方法
属性和方法的定义:
属性是客观世界对象的特征在计算机中的映射(Property n. 性质;性能;特性;属性; )
属性的内涵和外延:
-
内涵
-
对象的性质
-
对象间关系
-
对象数据域
-
-
外延
-
类属性
-
实例属性
-
方法是客观世界对象的行为在计算机中的映射(Method n. 方法;条理 )
方法的内涵与外延:
-
内涵
-
对象的行为
-
对象的功能
-
-
外延
-
类方法
-
实例方法
-
构造方法
-
抽象思维是人类认识世界的重要思维。
计算机如何理解复杂人类世界?
实际问题抽象化 --> 抽象问题机器化
抽象(Abstract):提取对象之间共同的特征和行为
抽象定义:抽象是从具体事物中抽出共同特征(属性)和行为(方法)的过程
抽象的内涵与外延
内涵:
-
内涵
-
共同的属性和方法
-
角度决定共同点
-
经过比较
-
-
外延
-
数据抽象:针对对象的特征,抽象为属性
-
过程抽象:针对对象的行为,抽象为方法
-
类的定义:类是经过抽象,得出的具有相同属性和方法的一组对象的集合
类的内涵与外延:
-
内涵:
-
多个对象参与
-
经过抽象
-
集合
-
-
外延:
-
能否实例化
-
普通类
-
抽象类
-
-
static修饰
-
非静态类
-
静态类
-
-
定义位置
-
非嵌套类
-
嵌套类
-
-
有无类名
-
匿名类
-
非匿名类
-
-
类是一个抽象的概念,是对象的模板
-
对象是类的实例
-
类是对象的类型(抽象)
Java类将现实世界中的类模拟到计算机程序中(Java类的模板)
包含属性和方法
-
使用成员变量表述属性(特征)
-
使用成员方法表述方法(行为)
Java以类为组织单元
-
所有Java程序都以类class为组织单元
-
关键字class定义自定义的数据类型
创建和使用对象(使用对象的步骤)
-
创建对象
-
类名 对象名 = new 类名();
-
Student stu = null; stu = new Student();
-
Student stu = new Student();
-
-
使用对象成员
-
引用成员变量:对象名.成员变量名
-
引用方法:对象名.成员方法名()
-
JVM内存五大区域(运行时数据区Runtime Data Area)
-
方法区 Method Area
-
存储已被JVM加载的类信息、常量、静态变量、编译后代码等数据的内存区域。
-
-
虚拟机栈 VM Stack
-
以先入后出方式,存储局部变量表、操作数栈、动态链接、方法出口等信息的内存区域
-
-
本地方法栈 Native Method Stack
-
以先入后出方式,存储非Java语言实现方法的变量、操作数等信息的内存区域。
-
-
堆 Heap
-
以先进先出方式,存放对象实例的内存区域。
-
-
程序计数器 Program Counter Register
-
用于存放下一条指令所在地址的内存区域。
-
引用数据类型的定义:引用数据类型由基本类型构造封装而成的,其变量指向对象内存地址的数据类型
引用数据类型的内涵与外延:
-
内涵
-
栈中存储实际数据的引用
-
堆中存放实际的数据
-
通过引用访问对象在内存中的数据
-
一个对象可以有多个引用
-
-
外延
-
数组
-
字符串
-
类
-
接口
-
枚举
-
注解类型
-
总结: