Java 编程思想——1. 对象入门

“Java面向对象编程,采用的是形象思维,而非像C一样的程序化思维。如果说面向对象还有缺点,那就是掌握它需要付出的代价。”——《Thinking In Java》

“从本质上和精神上收获Java这一门语言,你愿意付出的一些代价吗?”

1.1 理解纯粹的面向对象程序设计方法:

  (1)一切皆为对象:有什么不是对象呢?因为人的抽象思维是无穷的,存在的、不存在的事物,人们都可以轻松地或者固执地描述它或者假设它。

  (2)程序就像雇来一群对象完成某项工作:既然是工作,各对象分工不同;既然是工作,对象之间需要传递“工作情况”。对象A怎么传递“工作情况”给对象B?具体来讲,即A调用B的方法。

  (3)对象都有各自的存储空间:存储属性值(即数据,包括其他对象)、存储行为逻辑(即方法,或称函数)。

  (4)对象都属于类(Class):有相似,有不同,才产生了类别。相似的对象(即存在共同属性和共同行为),归为一类。

  (5)同一类对象在程序中能接收相同的信息:这么理解,程序在雇来许多对象之前先分门别类,再对雇来对象归类,一类对象总是处理着程序派给该类的某项任务,一类中的各对象都能执行这项任务,独立而遵守规则。

       以上只是形象上的概括,真正的理解、掌握和运用必然在不久之后。

1.2 面向对象接口:

  有了类别,有了对象,程序如何利用对象完成工作的运转呢?那么想到,如何向对象传递请求,指定它去完成特定的实际的任务流程?实际上,这是通过对象的“接口”(Interface)来定义的,即接口规定了可以对特定的对象指定哪些请求。对象的“类型”则规定了它的接口形式。“类”(Class)和“接口”(Interface)的等价或对应关系是面向程序设计的基础。

  你可以想象,“接口”就像是一台笔记本的电源键,按下电源键,电源向主板和其他设备供电,CPU开始执行指令,系统BLOS启动,自检、查找显卡、内存测试、硬件测试等,接着更新ESCD(扩展配置数据),再和操作系统交换硬件配置信息才启动操作系统,之后才可以尽情享用这台笔记本。那到底为什么要有这个电源键呢?能讲出的原因有一大堆。有一点,笔记本厂商并不打算告诉你,按下电源键之后,笔记本内部发生了什么,你也没兴趣知道它发生了什么。

  你要启动笔记本,你只需要利用电源键。你要使用某一能完成特定功能的程序模块,你只需要利用接口。 

  笔记本提供了一个电源键,你按电源键就行了。能完成特定功能的程序模块的设计者设计了接口,别的设计者需要引用改程序模块,利用接口就行了。

  以上只是关于面向对象接口的形象概括,至于接口在Java编程中怎么应用的知识,将在之后章节详述。

1.3 继承(extends)

  “继承”可以使子类具有父类的成员属性和成员方法,从而不必编写重复代码。

  “继承”允许子类重新定义父类的成员属性和成员方法,实现覆盖(重写);也允许子类追加新定义的成员属性和成员方法。

  “继承”有单继承,一个子类只能继承一个父类(Java);有多继承,一个子类可以继承多个父类(C++)。

  "继承"是在编译时刻静态定义的,在编译后子父类之间的关系即确定好了。这一点区别于今后学习中会遇到的组合关系。

  以上几句话,如果不理解,并不要紧,记住最好,留个印象也行。最重要的在于保持信心与好奇感。

1.4 动态绑定

  概念:程序在运行期间(非编译期间),根据对象具体类型进行绑定(反射),所以又被称为运行时绑定。

  具体过程,会在Java的反射机制的学习,加以解释。当然,在Java中,方法的动态绑定是自动进行的,熟练运用为主。

  便于学习理解动态绑定,推荐博客链接:http://1454396751.iteye.com/blog/1871384

  

  

posted @ 2016-11-04 22:35  小猫钓鱼o  阅读(192)  评论(0)    收藏  举报