对象导论的学习
来源:互联网 发布:北京金和网络北京 编辑:程序博客网 时间:2024/06/10 16:24
所有的编程语言都是在提供一种抽象机制。
可以认为,人们所能解决的问题的复杂性取决于抽象的类型和质量。
这里的“类型”是指“所抽象的是什么”。例如,汇编语言是对底层机器语言的抽象;C语言是对汇编语言的抽象。
虽然这些高级语言在汇编语言的基础上有了大幅的改进,但是它们所作的主要抽象仍然是要求基于计算机的结构来解决问题,而不是基于所要解决的问题的结构来考虑。
面向对象方式将问题空间中的元素及其在解空间中的表示称为“对象”。(还需要一些无法类比为问题空间中元素的对象)
面向对象思想的实质是:程序可以通过添加新的对象使自身适用于某个特定问题。
OOP允许根据问题来描述问题,而不是根据运行解决方案的计算机来描述问题。但是它仍然和计算机有联系:每个对象看起来都像一台微型计算机,它具有状态、操作,用户可以要求对象执行这些操作。(它们具有特性和行为)
面向对象语言的五个基本特征:
1.万物皆对象
2.程序是对象的集合,它们通过发送消息来告知彼此所要做的。
3.每个对象都有自己的由其他对象所构成的存储。
4.每个对象都拥有其类型。“每个对象都是某个类(class)的一个实例(instance)”。每个类区别于其他类的最重要的特性就是“可以发什么样的消息给它”。
5.某一特定类型的所有对象都可以接收同样的消息。如“圆形”类型的对象同时也是“几何形”类型的对象,所以一个“圆形”对象必定能够接受发送给“几何形”对象的消息。这意味着可以与“几何形”交互的代码,也能处理所有与“几何形”性质相关的类。这种可替代性(substitutability)是OOP中最重要的概念之一。
对象具有状态、行为和标识。这意味着每一个对象都可以拥有内部数据(它们给出了该对象的状态)和方法(它们产生行为),并且每一个对象都可以唯一地与其他对象区分开来,具体来说,就是每一个对象在内存中都有一个唯一的地址。
所有的对象都是唯一的,具有相同的特性和行为的对象构成了”类“。
创建抽象数据类型(类)是面向对象程序设计的基本概念之一。
抽象数据类型的运行方式与内置(built-in)类型几乎完全一致:你可以创建某一类型的变量(按照面向对象的说法,称其为对象或实例),然后操作这些变量(称为发送消息或请求;发送消息,对象就知道要做什么)。
例如Bank teller problem问题中,有出纳、客户、账户、交易和货币单位等许多”对象“。这些在程序中除了状态不同其他都相似的对象被归类为对象的”类“。
每一个对象都属于定义了特性和行为的某个特定的类。
- 对象导论的学习
- Java4android学习之对象导论
- java学习-1.对象导论
- 【学习笔记】第一章 对象导论
- Java学习笔记——对象导论
- 对象导论
- 对象导论
- 对象导论
- 对象导论
- 对象导论
- 对象导论
- 对象导论
- 对象导论
- 对象导论之伴随多态的可互换对象
- java对象导论,个人对java对象的理解
- Java编程思想学习笔记——对象导论
- JAVA编程思想学习第一篇の对象导论
- 【java编程思想--学习笔记(四)】对象导论
- jQuery.i18n.properties实现前端国际化
- 个人笔记 js 10 计算当前访客数
- HRP项目日志二
- span设置宽度有效无效问题
- Centos安装FastDFS+Nginx(一天时间搞定)
- 对象导论的学习
- C# 给PDF文件添加水印
- 个人笔记 js 12 js返回上一页
- github笔记2
- position 和float 的对立。
- 使用代码为 Xcode 工程添加文件
- Majority Element
- 删除通讯录所有信息
- Leetcode -- Wildcard Matching