第一章---对象导论

第一章   对象导论

1.1  抽象过程:

1)万物皆为对象

程序是对象的集合,他们通过发送消息来告知彼此要做的事:想要请求一个对象,就必须向该对象发送一条消息,可以把消息想象成对某个特定对象的方法的调用请求

1.2  每个对象都有一个接口:

1.3  每个对象都提供服务:

当正在试图开发或理解一个程序设计时,最好的方法就是讲对象想象成“服务提供者”。程序本身将向用户提供服务,他将通过调用其他对象提供的服务来实现这一目标

1.4  被隐藏的具体实现:

将程序开发人员按角色分为类创建者(那些创建新数据类型的程序员)和客户端程序员(那些在其应用中使用数据类型的类消费者)是大有裨益的,java用三个关键字在类的内部设定边界:publicprivateprotectedPublic表示紧随其后的元素对任何人都是可用的,private表示除类型的创建者和类型的内部方法之外任何人都不能访问的元素,protected--继承的类可以访问

1.5  复用具体实现:

一旦类被创建并测试完成,那么他就应该代表一个有用的代码单元,他就可供复用,代码的复用是面向对象程序设计语言的优点之一。

最简单的复用某个类的方式就是直接使用该类的一个对象,此外也可以将那个类的一个对象置于某个新的类中,我们称之为“创建一个成员对象”。新的类可以由任意数量,任意类型的其他对象以任意可以实现新的类中想要的功能的方式所组成。因为是使用现有的类合成新的类,所以被称为组合,如果组合是动态发生的通常被称为聚合,组合经常被视为“has-a(拥有)”的关系,就像汽车拥有引擎。

新类的成员对象通常被声明为private,使得使用新类的客户端程序员不能访问他们。这也使得你可以在不干扰现有客户端代码的情况下修改这些成员,也可以在运行时修改这些成员对象,以实现动态修改的行为,实际上在建立新类时首先应该考虑组合因为他更加简单灵活。

1.6  继承:

 

以现有类为基础,复制他然后添加和修改这个副本来创建一个新类,继承使用基类型和导出类型的概念表示了这种类型之间的相似性

 当继承现有类型时也就创造了新的类型,包括现有类型的所有成员(尽管private成员被隐藏并且不可访问),而且重要的是它复制了基类的接口,

有两种方法可以使基类型和导出类产生差异:1,直接在导出类中添加新的方法。2,覆盖,直接在导出类中创建该方法的新定义--我正在使用相同的接口方法,但是我想在新类型中做些不同的事。

1) “是一个”与“像是一个”关系  

对于继承的争论:继承只覆盖基类的方法,这样基类和导出类是完全相同的类型--纯粹替代,这被描述为is-a关系

但是有时必须在导出类中添加新的接口元素,这样就扩展了接口,基类无法访问新添加的方法,这种情况用is-like-a来描述                   

1.7  伴随多态的可互换性:

在处理类型的层次结构时,经常把一个对象不当做他所属的特定类型来对待,而是当做基类的对象来对待,这样可以编写出不依赖于特定类型的代码 ,这样的代码是不会受添加新类型影响的。                

1.8  单根继承结构:

在单根继承结构中所有对象都有一个共同的接口,他们归根结底都是相同的基本类型,单根继承结构保证所有对象都具备某些功能,因此你知道在你的系统中你可以在每个对象上执行某些基本操作,列如所有对象都可以在堆上创建,单根继承结构使得垃圾回收器的实现变得容易很多,不会因为无法确定对象的类型而陷入僵局

1.9  容器:

通常来说,如果不知道在解决某个问题时需要多少个对象,或者他们将存活多久,那么就不能存储这些对象,也不知道要多少空间来存储这些对象,这类信息只有在运行时才能获得,java提供了各种类型的容器来满足不同的需求,列如List(用于存储序列),Map(也被称为关联数组,用来简历对象之间的关联),set(每种对象类型只持有一个),以及队列,树,堆栈的构件。

1.9.1 参数化类型

javaSE5之前,容器存储的对象都只是object类型,要使用这样的容器,只需要在其中置入对象的引用,然后取回,但是由于容器之存储Object,所以对象会被向上转型为Object,因此它会丢失身份,这里取回时要用到向下转型

1.10  对象的创建和生命周期:

1.11  异常处理:

1.12  并发编程:

1.13  JavaInternet

1.14  总结:

转载于:https://www.cnblogs.com/syg13129953117/p/7904412.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值