一 对象导论

java学习   对象导论

1.对象的抽象过程

  所有的编程语言都提供抽象机制。可以认为,解决问题的复杂性直接取决于抽象的类型和质量。

  ▲面向对象程序设计方式的特性:

    1)万物皆对象。你可以抽象待解决问题的任何概念化构件。

    2)程序是对象的集合,它们可以通过发送消息来告知彼此所要做的。

    3)每个对象都有自己的由其他对象所构成的存储。

    4)每个对象都拥有其类型

    5)某一特定类型的所有对象都可以接受同样的信息

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

  接口确定了对某一特定对象所能发出的请求。

3.每个对象都提供服务

  把对象想象成“服务提供者”。

  目标就是去创建(或者最好是在现有代码库中寻找)能够提供理想的服务来解决问题的一系列对象。

  把对象看作是服务提供者还有一个好处就是:有助于提高对象的内聚性。

    高内聚是软件设计的基本质量要求之一:这意味着一个软件构件的各个方面“组合”得很好。

4.被隐藏的具体实现

  访问控制的两个原因:

    一个是让客户端程序员无法触及他们不该触及的部分。

    另一个是允许库设计者可以改变类内部的工作方式而不用担心影响到客户端程序员。

  Java用三个关键字在类的内部设定边界:public、private、protected

    public表示紧随其后的元素对任何人都是可用的。

    private表示除类型创建者和类型的内部方法之外的任何人都不能访问的元素。

    protected和private的作用相当,仅区别在于继承的类可以访问protected成员而不能访问private成员。

  如果不用任何反问指定词时为包访问权限,即类可以访问在同一个包(库构件)中的其他类的成员。

5.复用的具体实现

  复用:直接使用一个类的一个对象。

  创建成员对象:将一个类的一个对象置于一个新的类中。

  组合:使用现有的合成新的类。

     如果组合是动态发生的,那么成为“聚合”。

     组合经常被视为“has-a”(拥有)关系。

  在组合中,新类中对象通常被声明为private,使使用新类的客户端程序员不能访问他们。这样使你可以在不干扰现有的客户端代码的情况下修改这些新类的成员。

6.继承

  

 

原文地址:https://www.cnblogs.com/zhyijun/p/9649157.html

时间: 2024-10-06 10:03:25

一 对象导论的相关文章

【java编程思想--学习笔记(四)】对象导论

写这篇博客的前言: 长话短说,我希望通过阅读<java编程思想>来使我的代码 简洁可用 . 目的的层次不同,首先具体的目标是,了解Java的特性和巩固Java的基础. 更抽象的目的如下: 1.期待以巩固基础的方式,使代码优美,简洁,高效. 2.使自己写的模块能够开放适度,好用. 3.形成一种对代码是否优美的审美观. 于是<Java编程思想>第一章 对象导论 由此开始. 1.1 抽象过程 java 相对于命令式语言的优势在于只针对于待解问题建模.后者所做的主要抽象要求所做问题基于计算

【Thinking in Java-CHAPTER 1&amp;&amp;2】对象导论&amp;&amp;一切都是对象

JAVA起源 从JDK诞生到现在已经有11年的时间了.沧海桑田一瞬间.转眼11年过去了,JDK已经发布了6个版本.在这11年里诞生了无数和Java相关的技术和标准.现在让我们进入时间隧道,重新回到1995年,再来回顾一下Java的发展轨迹和历史变迁. 一. JDK前传 在这个世界上,熟悉Java历史的人非常多,如果要问一个人Java是从哪年诞生的,也许大多数人都会回答是1995年(这个非常好记,因为微软的Windows95也是在这一年发布的).但事实上Java早在上个世纪90年代初就开始酝酿了.

Java编程思想 第一章、对象导论

对象导论阅读理解: 1.解决问题的复杂性直接取决于抽象的类型和质量(抽象类型及抽象的是什么?). 汇编语言是对底层机器的轻微抽象,而C.Basic等指令式语言都是对汇编语言的抽象,它们所做的主要抽象仍要求在解决问题时 要基于计算机的结构,而不是基于要解决的问题的结构来考虑,Java语言与C.Basic等相反,其面向问题空间的抽象而非计算 机底层实现来考虑问题结构. 2.解空间及问题空间 解空间:对应于机器模型,问题建模的地方: 问题空间:实际解决问题的模型,问题存在的地方,如一项业务: 3.对象

Think in Java(一):对象导论

1. OOP的特点 (1) 万物皆为对象; (2) 程序是对象的集合,他们通过发送信息来告诉彼此所要做的; (3) 每个对象都有自己的由其他对象所构成的存储; (4) 每个对象都拥有它的类型; (5) 某一特定类型的对象都可以接收同样的消息; 2. Java比C++简单? (1) Java有垃圾回收器, 不用手动销毁对象; (2) Java使用单根继承; (3) Java只能以一种方式创建对象(在堆上创建); Think in Java(一):对象导论

【Java编程思想】一、对象导论

作为一个电子专业的人,在学习了将近3年的嵌入式技术后,决定投奔移动互联网,在互联网大潮中急流勇进! 为了学习OOP(Object-oriented Programming),为了转向移动互联网,我决定开始学习android开发,那么就从Java开始吧! Java的学习资料很多,在研究几天之后,决定从<Java编程思想>这本书开始. 而在这本书之前,我已经看完了一个培训导师的Java4Android的Java教学视频,看的很快,因为我学过C和C++. 但我的Java水平依旧很差,主要在于面向对象

Java 基础之一对象导论

对象导论 1.1 抽象过程 所有编程语言都提供抽象机制.人们所能解决的问题的复杂性直接取决于抽象的类型和质量. 汇编语言是对底层机器的轻微抽象. 我们将问题空间中的元素及其再解空间中的表示称为对象.这种思想实质是:程序可以通过添加新类型的对象使自身适用于某个特定的问题. 万物皆为对象 可以抽取待求解问题的任何概念化构建表示程序中的对象. 程序是对象的集合 他们通过发送消息来告知彼此所要做的. 每个对象都有自己的由其他对象所构成的存储 每个对象都拥有其类型 某一特定类型的所有对象都可以接收同样的消

对象导论系列---每个对象都至少有一个接口

对象导论系列---每个对象都至少有一个接口 面向对象程序设计主要是用来解决人们实际生产.生活中遇到的问题.通过将现实生活中的问题和解空间中的对象进行映射,并对对象进行抽象.关联.组合.发送消息来具体解决实际问题.现实生活中的实体也都是有自己的特性和行为的,并且每个实体都会与其范围内的其它实体有关系,有的是强关系,有的是弱关系. 下面看下本节的关键性概念(思想) 类:将具有相同特性和行为的一类实体定义为类.当看到类型一词时,可以将其作为类来考虑.因为类描述了具有相同特性(数据元素)和行为(功能)的

对象导论系列---每个对象都提供服务

对象导论系列---每个对象都提供服务 将对象作为服务提供者来看待是一件伟大的简化工具,这不仅在设计过程中非常有用,而且当其他人试图理解你的代码或重用某个对象时,如果他们看出了这个对象所能提供的服务的价值,他会使调整对象以适应其设计过程变得简单得多. 当你正在试图开发或理解一个程序设计时,最好的方法之一就是将对象想像为"服务提供者",程序本身将向用户提供服务,她将通过调用其它对象提供的服务来实现这一目的.你的目标就是去创建或者最好是在现有代码库中去寻找能够提供理想服务来解决问题的一系列对

Java编程思想总结(一)对象导论

Java编程思想总结(一)对象导论 1.1 抽象过程 万物皆对象. 程序是对象的集合(即:类),他们通过发送消息(调用方法)来告知彼此要做的. 每个对象都有自己的由其他对象所构成的存储(引用其他对象或基本类型,即组合). 每个对象都拥有其类型.每个类最重要的区别于其他类的特征就是“可以发送什么样的消息给它”(即调用方法). 某一特定类型的所有对象都可以接受同样的消息. 对象具有状态(成员属性).行为(成员方法)和标识(引用的名称).每个对象在内存中都有唯一的一个地址. 1.2 每个对象都有一个接