对象导论之抽象过程
来源:互联网 发布:mac系统文件夹 编辑:程序博客网 时间:2024/05/22 12:11
背景
平时都是在用Python, Java一直只是知道一些基本语法,现在重新读《Java编程思想》,希望能扎实的掌握Java。
第一章主要是介绍OOP (Object-oriented Programming, 面向对象编程) 背景性和补充性的材料。
1.1 抽象过程
所有编程语言都提供抽象机制,汇编语言是对底层机器的轻微抽象,“命令式”语言(FORTRAN、BASIC、C)是对汇编语言的抽象。但是这些抽象只是要求在解决问题的时候是的基于计算机结构而不是基于所要解决的问题的结构来考虑。因此,程序员必须建立起机器模型和实际解决问题的模型之间的关联。通俗的说,就是要把实际的业务问题用机器语言去描述。
于是出现了针对问题建模的编程语言:
- LISP 所有问题最终都是列表
- APL 所有问题都是算法形式的
- PROLOG 所有问题都转换成决策链
- ……
OOP出场
将问题空间中的元素及其在解空间中的表示称为“对象”。问题空间是对应现实世界的一个问题,一个问题包含多个元素,在计算机里(解空间)通过“对象”进行描述。
Alan Kay 总结了Java所基于的语言Smalltalk的五大特性:
万物皆对象
对象是奇特的变量,可以存储数据,还可以在自身上执行操作,理论上,可以抽象待求解问题的任何概念化构件,将其表示成程序中的对象。
程序是对象的集合,它们通过发送消息告知彼此所要做的
想要请求对象,就必须对对象发送一个消息
每个对象都有自己的由其他对象所构成的存储
可以通过创建包含对现有对象的包的方式来创建新的类型的对象
每个对象都有其类型
每个对象都是某个类(class)的一个实例(instance)
某一特定类型的所有对象都可以接收同样的消息
特定类型的对象,就好像一类人,他们的属性和行为是相似的,所以可以接收同样的“思想”
对象具有状态、行为和标识。
—— Booch
这就意味着对象可以拥有内部数据和方法,并且每一个对象都可以唯一的与其他对象区分开来,具体来说,就是每一个对象在内存中都有一个唯一的地址。
- 对象导论之抽象过程
- 第一章 对象导论 1.1抽象过程
- 面向对象之抽象过程
- Java编程思想解析 第1章 对象导论 1.1 抽象过程
- 对象导论之继承
- 什么是对象(抽象过程)
- Java4android学习之对象导论
- 面向对象之抽象
- 面向对象过程中的抽象过程
- 面向对象之抽象类
- 面向对象之抽象方法
- 谈谈面向对象 之 抽象
- 面向对象编程之抽象
- 面向对象之抽象类
- JAVA面向对象之抽象
- 面向对象之抽象类
- 面向对象之抽象abstract
- 《thinking in java》之第一章对象导论
- 【2031】求一元三次方程的解
- ScroolView嵌套ListView以后界面默认定位到ListView部分解决办法
- [uva 315] Network 题解
- shell脚本——lanmp安装
- 共享经济思考:标准化与个性化如何融合
- 对象导论之抽象过程
- (基于Java)编写编译器和解释器-第2章:框架I:编译器和解释器-第三部分(连载)
- 0002-MYSQL中如何给表取别名
- Swift Any & AnyObject
- WebSphere 应用服务器使用技巧
- TotoiseSVN的基本使用方法
- C++ 带默认形参值的函数
- 二叉树的中序、先序、后序、层序遍历 & 二叉树的深度 & 节点查找
- 《js高级程序设计》学习笔记--4.变量、作用域和内存问题