java编程思想之对象导论

1、抽象过程java

程序员必须创建起在机器模型和实际待解决问题的模型之间的关联程序员

抽象的本质应该是创建在具体的问题上,而不该该是基于计算机的结构上的。安全

第一个成功的面向对象的语言是:Smalltalk,那么他的五个基本特征是spa

1).万物皆为对象。理论上讲,你能够抽取待解决问题的任何概念化构件将其表示为程序中的对象;它能够存储数据,除此以外它还能够执行自身的操做。对象

2).程序是对象的集合,它们经过发送消息来告知彼此所要作的。经过消息进行调用对象的执行继承

3).每一个对象都有本身的由其余对象所构成的存储。接口

4).每一个对象都拥有其类型。每一个对象都是一个类的实例内存

5).某一特定类型的全部对象均可以接收一样的消息。变量

对象的描述:对象具备状态、行为、标识。这意味着每个对象都拥有内部数据和方法,而且每个对象均可以惟一的与其余的对象区分开来,具体的说就是对象在内存中都拥有一个惟一的地址。
数据类型

2、每一个对象都有一个接口

  类的由来:在程序执行过程当中具备不一样的状态而其余方面都类似的对象会被分组到对象的类中。

  由于类描述了具备相同特性和行为的对象的集合,因此一个类其实是一个数据类型,在计算机看来,它和内置的对象如浮点类型的数据相似,系统都会欣然接受他的存在,而且象对待内置对象那样对它进行内存的分配和类型检查。它们惟一的区别在于:程序员经过定义类来适应问题,而不用再为了适应系统使用系统提供的表示机器中的存储单元的数据类型。

  对象是用来执行任务的,因此当有请求过来时,定义的对象须要知足这些请求,这些请求由对象的接口定义产生,而且在程序中由具体的方法的实现。从这里能够解决的问题是:一个请求对应一个方法,当向对象请求时与之对应的方法会被调用,而后执行相对应的代码程序。

总结一下:通俗的讲,这里的一个对象都有一个接口的意思是每个对象都是要执行一系列的请求的,这些请求的产生是在接口中定义的(这里所说的请求指的就是方法),固然还须要有实现接口中定义的方法的代码。

3、每一个对象都提供服务

  每一个对象都提供必定的服务,咱们的目标就是可以提供理想的服务来解决问题的一系列的对象

  同时将对象称为“服务提供者”还能够很好的提升代码的内聚性,由于每一个对象都有本身须要完成的任务,当一个对象中须要完成的任务若是过多的话就会出现这个对象特别的庞杂,因此通常状况下是每个对象均可以很好的完成一项任务,他不尝试作更多的事,这是一种很好的代码风格,同时也提升了代码的可复用性。

4、被隐藏的具体实现

  java中存在一种保护机制,隐藏实现细节,对外只提供访问的接口,即存在访问控制。

  访问控制的缘由有二:其一,访问控制能够保证数据内部的安全性,不能有任何人去随意改变他们不能够修改的地方;其二,当内部实现修改时,只要对外提供的接口不改变时,就不会产生什么影响(前提是你的实现和接口是分离的)。

  java提供了三种关键字来实现访问控制,private(类内部)、protected(继承关系内部能够访问)、public(全部的想访问的均可以访问),  还有一种是省略的包访问控制。

5、复用具体实现

  面向对象的一大优势是实现代码的复用,简单的复用一个类的方式就是使用该类的对象,另外,咱们还能够将某个对象内置于某个类中,称为该类的一个成员变量。新的类中能够由任意数量、任意类型的其余的对象组成,这样的使用现有的类合成新的类的方式被称为组合。组合是'has-a'关系。若是组合是动态生成的那么称为聚合。

  组合在uml图中的表示方式是实心的菱形加一个箭头。若是在相同的状况下咱们使用组合和继承都能达到代码复用的效果,那么咱们最好仍是使用组合,继承存在必定的不安全性。

6、继承

相关文章
相关标签/搜索