Java编程思想笔记
搬砖小工053
这个作者很懒,什么都没留下…
展开
-
对象导论之抽象过程
背景平时都是在用Python, Java一直只是知道一些基本语法,现在重新读《Java编程思想》,希望能扎实的掌握Java。第一章主要是介绍OOP (Object-oriented Programming, 面向对象编程) 背景性和补充性的材料。1.1 抽象过程所有编程语言都提供抽象机制,汇编语言是对底层机器的轻微抽象,“命令式”语言(FORTRAN、BASIC、C)是对汇编语言的抽象。但是这些抽象原创 2016-07-04 16:05:27 · 544 阅读 · 0 评论 -
对象导论之每个对象都有一个接口
亚里士多德是最早深入研究类型(type)的哲学家。 所有对象都是唯一的,但是同时也是具有相同的特性和行为的对象所归属的类的一部分。 ——亚里士多德 class关键字的由来出现在OOP编程语言Simula-67中,Simula是为诸如经典的“银行出纳员问题”这样的程序而创建的。面向对象程序设计中,实际上进行的是创建新的数据类型,所有的面向对象的编程语言都使用class这个关键词来表示数据类型原创 2016-07-04 16:58:24 · 616 阅读 · 0 评论 -
对象导论之每个对象都提供服务
开发者角度开发者最好是把对象想象成“服务提供者”,程序本身将向用户提供服务,或者通过调用其他对象来实现这一目的。好处有助于提高软件的内聚性,高内聚是软件设计的基本质量要求之一:这意味着一个软件构件的各个方面“组合”的很好。在良好的程序设计里中,每个对象都可以很好的完成一项任务,但是它并不试图做更多的事情。原创 2016-07-04 20:19:44 · 521 阅读 · 0 评论 -
对象导论之被隐藏的具体实现
程序开发者分类 类创建者 目标是构建类客户端程序员 收集和使用各种用来快速应用开发的类访问控制原因一让客户端程序员无法触及他们不应该触及的部分——这部分对于数据类型的内部操作是必须的,但并不是接口的一部分。原因二允许库设计者可以改变类内部的工作方式而不用担心会影响到客户端程序员。Java三种访问指定词(access specifier)public紧随其后的元素对于任何人都是可用的priva原创 2016-07-04 20:37:38 · 494 阅读 · 0 评论 -
对象导论之复用的具体实现
代码复用是面向对象程序设计语言最了不起的优点之一。成员对象将一个类的一个对象置于新类中,称之为“创建了一个成员对象”。组合(composition)用任意数量、任意类型的其他对象组成一个新类想要的功能称之为“组合”。聚合(aggregation)如果组合是动态发生的,通常可以称之为“聚合”。程序设计中怎么用在程序设计的时候应该首先考虑组合,因为它更加简单灵活,如果采用组合的方式,设计会变得更加清晰。原创 2016-07-04 20:51:37 · 450 阅读 · 0 评论 -
对象导论之继承
类(class)概念通过类(class)的概念将数据和功能封装在一起,可以从问题空间的角度给出问题的恰当表示,类是面向对象编程语言的基本单元。继承在写新类的时候,如果和已经构建的类有相似功能,我们可以复制它,然后通过添加和修改这个副本来创建新类。当源类(基类,超类,父类)发生变化的时候,被修改的“副本”(导出类,继承类,子类)也会反映出这些变动。可以创建一个基类型来表示系统中某些对象的核心概念,从基原创 2016-07-04 22:40:02 · 388 阅读 · 0 评论 -
对象导论之“是一个”与“像是一个”关系
纯粹替代如果继承只覆盖基类方法,不添加新方法,这时候基类和导出类是完全相同的类型,接口完全相同。称之为“纯粹替代”或者“替代原则”。在这种情况下,替代类和基类是 is-a (是一个) 关系。比如“一个圆形是一个几何形状”。换句话说,判断是否是继承,就是确定是否可以用 is-a 来描述类之间的关系,并使之有实际意义。导出类添加新方法在导出类中增加新的方法,即在添加的新的接口,这时候导出类和基类就是 i原创 2016-07-04 22:53:20 · 377 阅读 · 0 评论 -
对象导论之伴随多态的可互换对象
泛化(generic)在处理类型的层次结构的时候,经常把一个对象不当作它所属的特定类型来对待,而是将其当作其基类的对象来对待。基类的一些方法对对象的操作是泛化的,即不考虑对象的不同,只要是由基类或者导出类产生的对象,都能处理。前期绑定在非面向对象的编程中,编译器产生对一个具体函数名字的调用,运行的时候将这个调用解析到将要被执行的代码的绝对地址。后期绑定在OOP编程中,当向对象发送消息的时候,被调用的原创 2016-07-05 12:41:10 · 732 阅读 · 0 评论 -
对象导论之单根继承结构
在OOP中,所有的类最终都继承自单一的基类Object。单根继承结构保证所有的对象都具备某些基本操作,所有的对象都可以在堆上创建,而参数传递也得到极大的简化。在Java中,单根继承使得垃圾回收器的实现变得容易的多,垃圾回收器是Java相对于C++的重要改进之一。原创 2016-07-05 13:07:42 · 662 阅读 · 0 评论