`
googlelc
  • 浏览: 56702 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java编程思想-读书笔记(1)对象入门

 
阅读更多

第一章:对象入门

1.1 、面向对象编程(OOP)的吸引力:

(1)对管理人员,它实现了更快和更廉价的开发与维护过程
(2)对分析与设计人员,建模处理变得更加简单,能生成清晰、易于维护的设计方案。
(3)对程序员,对象模型显得如此高雅和浅显。此外,面向对象工具以及库的巨大威力使编程成为一项更使人愉悦的任务

现在的事实是:

事实上,很难很好地设计出对象——从而很难设计好任何东西。因此,只有数量相当少的“专家”能设计出
最好的对象,然后让其他人享用。对于成功的OOP 语言,它们不仅集成了这种语言的语法以及一个编译程序
(编译器),而且还有一个成功的开发环境,其中包含设计优良、易于使用的库。所以,大多数程序员的首
要任务就是用现有的对象解决自己的应用问题。


1.2、抽象的进步

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

汇编语言是对基础机器的少量抽象。后来的许多“命令式”语言(如FORTRAN,BASIC 和C)是对汇编语言的一种抽象。与汇编语言相比,这些语言已有了长足的进步,但它们的抽象原理依然要求我们着重考虑计算机的结构,而非考虑问题本身的结构。

程序员可利用一些工具表达问题空间内的元素。由于这种表达非常普遍,所以不必受限于特定类型的问题。

我们将问题空间中的元素以及它们在方案空间的表示物称作“对象”(Object)。
在java世界中,一切皆对象。

Alan Kay 总结了Smalltalk 的五大基本特征。这是第一种成功的面向对象程序设计语言,也是Java 的基础语言。


(1) 所有东西都是对象。可将对象想象成一种新型变量;它保存着数据,但可要求它对自身进行操作。理论上讲,可从要解决的问题身上提出所有概念性的组件,然后在程序中将其表达为一个对象。
(2) 程序是一大堆对象的组合;通过消息传递,各对象知道自己该做些什么。为了向对象发出请求,需向那个对象“发送一条消息”。更具体地讲,可将消息想象为一个调用请求,它调用的是从属于目标对象的一个子例程或函数。


(3) 每个对象都有自己的存储空间,可容纳其他对象。或者说,通过封装现有对象,可制作出新型对象。所以,尽管对象的概念非常简单,但在程序中却可达到任意高的复杂程度

(4) 每个对象都有一种类型。根据语法,每个对象都是某个“类”的一个“实例”。其中,“类”(Class)是“类型”(Type)的同义词。一个类最重要的特征就是“能将什么消息发给它。

(5) 同一类所有对象都能接收相同的消息。这实际是别有含义的一种说法,大家不久便能理解。由于类型为圆”(Circle)的一个对象也属于类型为“形状”(Shape)的一个对象,所以一个圆完全能接收形状消息。这意味着可让程序代码统一指挥“形状”,令其自动控制所有符合“形状”描述的对象,其中自然包括“圆”。这一特性称为对象的“可替换性”,是OOP 最重要的概念之一。


1.3、对象的接口

建好一个类后,可根据情况生成许多对象。随后,可将那些对象作为要解决问题中存在的元素进行处理。

事实上,当我们进行面向对象的程序设计时,面临的最大一项挑战性就是:如何在“问题空间”(问题实际存在的地方)的元素与“方案空间”(对实际问题进行建模的地方,如计算机)的元素之间建立理想的“一对一”对应或映射关系。

必须有一种办法能向对象发出请求,令其做一些实际的事情,比如完成一次交易、在屏幕上画一些东西或者打开一个开关等等。

每个对象仅能接受特定的请求。我们向对象发出的请求是通过它的“接口”(Interface)定义的,对象的“类型”或“类”则规定了它的接口形式。“类型”与“接口”的等价或对应关系是面向对象程序设计的基础。


分享到:
评论

相关推荐

    java从入门到精通全过程笔记

    【Java基础】 Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems开发,现在由甲骨文公司维护。它的设计目标是具有简单的...通过深入学习和实践,可以逐步提升Java编程技能,并能够运用到实际项目开发中。

    韩顺平循序渐进学java从入门到精通课件-笔记坦克大战全过程

    但可以从部分代码中观察到游戏的基本结构和面向对象的编程思想。 - 文件中包含了一些无法识别的字符(例如“娘家”,可能是编码问题导致的乱码),这部分内容在解析时会跳过或被忽略。 总结而言,文档中涉及的知识...

    达内JAVA培训综合笔记

    面向对象是Java编程的核心思想,笔记中对类、对象、包、方法及其调用、引用、访问控制、构造器、继承、接口等概念都进行了深入讲解。特别是继承和多态的概念,是理解Java面向对象程序设计的关键。此外,还涵盖了抽象...

    Java JDK 6学习笔记——ppt简体版

    Java JDK 6学习笔记是为Java初学者量身定制的一份宝贵资料,它涵盖了Java编程的基础概念、语法以及...通过详细阅读和反复实践,初学者可以逐步提高编程技能,理解Java编程的核心思想,从而在软件开发的世界里游刃有余。

    java入门韩顺平所有资源笔记等B站对应学习视频

    1) 以培养编程思想、提升编程能力为核心目标,达到能分析业务需求,并能用代码实现水平 2) 抛弃传统的以强灌知识点授课方式,每个阶段都有多个项目把知识点真正应用到项目中, 小伙伴在学习过程中有满满成就感,充分...

    java学习笔记,java基础知识整理

    Sun Microsystems是一家由斯坦福大学校友创立的技术公司,它不仅开发了Java编程语言,还推出了许多其他的软硬件产品和技术标准。 ##### 2. Java开发平台 Java开发平台分为三个版本,分别面向不同的应用场景: - *...

    java学习笔记JDK6.0课件和代码

    Java是世界上最流行的编程语言之一,尤其在企业级应用开发领域占据主导地位。JDK(Java Development Kit)是Java...随着Java技术的不断发展,虽然JDK 6.0已经过时,但它仍然是初学者理解和掌握Java编程思想的宝贵资源。

    java jdk7 学习笔记

    再看第二本《java核心技术卷1-基础知识》,bruce eckel推荐的入门书籍。...第四本是bruce eckel本人编写的《java编程思想》。 第五本是《head first servlet &jsp》。 第六本是《head first ejb》。

    java私塾学习笔记整理

    ### Java私塾学习笔记整理 #### 第一章:Java入门 ...以上内容涵盖了Java基础知识的重要方面,从语言基础到高级特性,以及常见的开发技术和工具,帮助读者全面了解Java编程的基础知识和技术要点。

    韩顺平java从入门到精通视频教程源码笔记

    这部教程旨在帮助初学者快速掌握Java编程语言,同时也适合有一定基础的开发者进行巩固和提升。通过视频教学与配套的源码笔记,学习者可以全方位地理解Java的核心概念和技术。 Java是一种广泛应用于企业级应用、移动...

    java学习笔记整理

    为了开发软件,需要选择合适的计算机语言、开发工具以及编程思想。计算机语言主要分为三类:机器语言、汇编语言和高级语言。高级语言是面向用户的编程语言,它更接近人类自然语言,易于理解和编写。常见的高级语言有...

    全套达内学习笔记(java)

    【Java私塾Java初级教程PPT1-3章.rar】:这部分内容可能涵盖了Java语言的基础知识,包括但不限于Java编程环境的搭建、基本语法、数据类型、控制结构(如if语句、for循环、while循环)、类与对象的概念、封装、继承、...

    java从零基础到精通的整个详细笔记(2012版)

    【Java基础】 Java是一种广泛使用的面向对象的编程语言,具有平台...以上是《Java从零基础到精通的整个详细笔记》的主要内容,涵盖了从基础语法到高级框架的广泛知识,适合初学者逐步深入学习Java编程及其相关技术。

    Java 程序设计入门教程(PDG)+阅读器

    "Java程序设计入门教程(PDG)"是专为新手设计的教材,旨在帮助他们快速理解并上手Java编程。PDG通常指的是“Program Design Guide”,它可能是一种特殊的教材格式或阅读方式,旨在提供清晰、有序的指导。 本教程可能...

    C入门神作笔记七天C语言入门笔记.pdf

    掌握基本语法规则和简单算法解决问题的步骤是学习C语言的基础,理解面向过程的编程思想,并能够看懂和调试C语言程序是学习过程中的关键。 C语言中的数据类型可以分为基本类型和复合类型。基本类型包括整数和浮点数...

Global site tag (gtag.js) - Google Analytics