Software-OO 面向对象思维

2017-11-06 11:02:50

所有编程语言的最终目的都是提供一种“抽象”方法。

解决问题的复杂程度直接取决于抽象的种类及质量。这儿的“种类”是指准备对什么进行“抽象”?

汇编是对基础机器的少量抽象。“命令式”语言是对汇编语言的一种抽象。

 

(Alan Kay 总结的 Smalltalk 的五大基本特征)面向对象程序设计语言

1)所有东西都是对象。可将对象想象成一种新型变量;保存着数据,但可要求它对自身进行操作。理论上可从要解决的问题

身上提出所有概念性的组件,然后在程序中将其表达为一个对象。

2)程序是一大堆对象的组合;通过消息传递,各对象知道自己该做些什么。为了向对象发出请求,需向那个对象“发送一条消息”。

可将消息想象为一个调用请求,它调用的是从属于目标对象的一个子例程或函数。

3 ) 每个对象都有自己的存储空间,可容纳其他对象。或者说,通过封装现有对象,可制作出新型对象。

所以,尽管对象的概念非常简单,但在程序中却可达到任意搞的复杂程度。

4)每个对象都有一种类型。 根据语法,每个对象都是某个“类”的一个“实例”。

其中,”类“(Class) 是 ”类型“ (Type)的同义词。一个类最重要的特征就是”能将什么消息发给它?“。

5)同一类所有对象都能接收相同的消息。对象的”可替换性”,是 OOP 最重要的概念之一。

 

posted @ 2017-11-06 13:16  君子之行  阅读(167)  评论(0编辑  收藏  举报