第一章,对象导言

来源:互联网 发布:知和天命是什么意思 编辑:程序博客网 时间:2024/05/21 18:00

程序是什么?

程序是写给计算机执行的,一般看来是要用来做一件事情的。

 

程序设计:

写程序的一种方式方法,怎么写都行,只要计算机能执行就行。所以有了“汇编”、“过程式程序设计”、“面向对象程序设计”。

 

以前学过C语言,但没有怎么想是怎么回事,记得可以让计算机为你实现什么数学运算、求解什么数学问题、用“*”符号输出个“心”的图案等。

 

读了第一章,才发现以前到处说到的“过程型程序设计”原来就是人类为了计算机能执行一件事所进行程序编写与构造的一种方式罢了。其核心一是“数据的定义”和“函数过程的执行”。之所以“过程型程序设计”会被“面向对象型程序设计”所替代,究其原由还是因为“面向对象”更符合人类的方式。(有一天计算机可以像人类那想思考问题时,我想我们都不用编码了)。

 

在计算机的世界里,它只知道0和1 。而在人类的世界里,我们的概念是具体的事物,可以理解为“对象”。其实道理一样,计算机“他”认为0和1是它能明白的东东,而我们人不行,我们得通过“转换”才能明白它的含义。

 

抽象其实就是在简化问题,不论是哪个领域,都有这样的共性。

 

计算机将它的世界抽象到了0和1两个(当然是人类赋予计算机的)。

人类不能将世界抽象到0和1,因为它们对人没有意义,人类要将事物抽象为更活生生的东西,那就是对象了。

 

面向对象的程序设计到今天看来应该是一种必然,原因很多,在我看来它符合了人的思维方式,生产率自然会提高。这样一来,那么采用面向对象方式建立起来的语言(C++、Java、C#等)理所当然的会被人们广为使用。

 

其实,说到底,计算机是人类的超级工具。人类解决问题的方式用人的思维方式来做当然是最好不过的了。

人类会提出问题、分析问题、解决问题。重要的是问题的提出是人,分析问题是人,解决问题是借助计算机这个工具,那么选择用“面向对象”的方式来设计和解决问题当然是不二选择。

 

几个关键的问题:

人、计算机、范围(域)(空间)、问题空间、解题空间、术语。

 

过程式程序设计:从计算机的角度求解问题,方便了计算机,但人不方便,求解的过程又要人来做,你会选择这样吗?

面向对象式程序设计:从人的角度来求解问题,人面对的是类、对象、继承、多态等人易理解的模型,我会选择,你呢?

 

编译器的确是个好东东,计算机就像是个外星人,它很强大,能方便人对问题的求解,但人类不愿意用外星语(0和1)与它直接打交道,让语言编译器为我们做好了。说到底,人就是会想办法方便自己。

 

换了个角度看程序设计,觉得挺有意思的。不是C++带给我的,是人们求解的方式带给我的。

原创粉丝点击