面向对象核心思想和概念
2014-03-10 22:44
323 查看
问题领域:软件系统所模拟的真实世界中的系统。
对象:对问题领域中事物的抽象。
属性:对象的特征,其值称为状态。
行为:又称为对象的方法,包括具有的功能及具体的实现。
*注:对象的属性用成员变量表示,对象的行为用成员方法表示。
类:一组具有相同属性和行为的对象的抽象。
类型:对象模型中的类可看做是开发人员自定义的数据类型。
*注:抽象是一种由具体到抽象,由复杂到简洁的思维方式。
消息:软件系统的复杂功能是由各种对象协同工作来共同完成的,协同工作中传递的数据称为消息。
服务:每个对象都具有特定的功能,相对于其他对象而言,它的功能就是为其他对象提供的服务。
*注:对象A向对象B提出获得服务的请求,提出请求的过程被称为发送消息。
接口:系统对外提供的所有服务,但不包含服务的实现细节。站在使用者的角度,对象中所有向使用者公开的方法的声明构成了对象的接口。
封装:隐藏对象的属性和实现细节,仅仅对外公开接口。封装后的属性和实现细节,我们称其对使用者是透明的。透明在这里理解为“看不见”。
继承:子类可继承父类的属性和方法。
扩展:子类可扩展出新的属性和方法。
覆盖:子类可覆盖从父类继承来的属性和方法。
组合:用多个简单子系统来组装出复杂系统的有效手段。
多态:当系统A访问系统B的服务时,系统B可以通过多种实现方式来提供服务,面这一切对系统A是透明的。
动态绑定:有类X,及类A。类A拥有成员方法do(),并有子类B、C,类X、A、B、C分别有对象x、a、b、c,
现x中的某方法调用到a的do()方法,若x的成员变量a引用的是b,则调用b的do()方法;若x的成员变量a引用的是c,则调用c的do()方法。
Java虚拟机的这种运作机制被称为动态绑定。
总结:抽象机制和动态绑定机制能共同提高系统之间的松耦合性。软件系统是经过先抽象后组合而构建的。
*注:抽象机制是开发人员在开发过程中使用的机制,而动态绑定机制是Java虚拟机运行时提供的机制。
对象:对问题领域中事物的抽象。
属性:对象的特征,其值称为状态。
行为:又称为对象的方法,包括具有的功能及具体的实现。
*注:对象的属性用成员变量表示,对象的行为用成员方法表示。
类:一组具有相同属性和行为的对象的抽象。
类型:对象模型中的类可看做是开发人员自定义的数据类型。
*注:抽象是一种由具体到抽象,由复杂到简洁的思维方式。
消息:软件系统的复杂功能是由各种对象协同工作来共同完成的,协同工作中传递的数据称为消息。
服务:每个对象都具有特定的功能,相对于其他对象而言,它的功能就是为其他对象提供的服务。
*注:对象A向对象B提出获得服务的请求,提出请求的过程被称为发送消息。
接口:系统对外提供的所有服务,但不包含服务的实现细节。站在使用者的角度,对象中所有向使用者公开的方法的声明构成了对象的接口。
封装:隐藏对象的属性和实现细节,仅仅对外公开接口。封装后的属性和实现细节,我们称其对使用者是透明的。透明在这里理解为“看不见”。
继承:子类可继承父类的属性和方法。
扩展:子类可扩展出新的属性和方法。
覆盖:子类可覆盖从父类继承来的属性和方法。
组合:用多个简单子系统来组装出复杂系统的有效手段。
多态:当系统A访问系统B的服务时,系统B可以通过多种实现方式来提供服务,面这一切对系统A是透明的。
动态绑定:有类X,及类A。类A拥有成员方法do(),并有子类B、C,类X、A、B、C分别有对象x、a、b、c,
现x中的某方法调用到a的do()方法,若x的成员变量a引用的是b,则调用b的do()方法;若x的成员变量a引用的是c,则调用c的do()方法。
Java虚拟机的这种运作机制被称为动态绑定。
总结:抽象机制和动态绑定机制能共同提高系统之间的松耦合性。软件系统是经过先抽象后组合而构建的。
*注:抽象机制是开发人员在开发过程中使用的机制,而动态绑定机制是Java虚拟机运行时提供的机制。
相关文章推荐
- 面向对象开发与面向对象设计模式的几个核心的思想和概念 -java
- 面向对象开发的几个核心的思想和概念
- 面向对象开发技术中的核心思想和概念
- 面向对象开发中的核心思想和概念-对象
- 面向对象开发中的核心思想和概念-接口与抽象
- 一)面向对象思想的核心概念
- 面向对象开发中的几个核心的思想和概念 .
- (一)1.3 面向对象开发中的核心思想和概念
- 面向对象开发中的几个核心的思想和概念
- 黑马程序员——Java语言基础——03.面向对象(1)思想和一些概念
- java面向对象核心思想
- 面向对象思想及核心
- 面向对象设计模式的几个基本原则及其核心思想简介
- 服务容器——laravel真正的核心,面向对象思想阐述
- Java面向对象程序设计----核心概念
- Java核心技术及面试指南 面向对象部分的面试题总结以及答案
- 抽象的概念,对象的概念,面向对象和面向过程的区别
- PHP面向对象学习笔记之一 基础概念
- Spring核心概念<二>:AOP面向切面编程
- DAY_03 面向对象思想_01修炼之路