java编程思想 学习笔记 第一章

来源:互联网 发布:国外数据库 编辑:程序博客网 时间:2024/06/05 22:41

第一章 对象导论

oop (objiect-oriented programming) 面向对象程序设计

1.1 抽象过程

1.面向对象思想实质:程序可以添加某个新类型的对象使得自身适用于某个特定问题
  当你在阅读解决方案的代码时 也即是在阅读问题的描述

2.Smalltallk(第一个成功的面向对象语言)的五个基本特性:
(1)万物皆对象
(2)程序是对象的集合,通过发送消息告知彼此间所要做的事
(3)每个对象都有自己的由其他对象所构成的存储
(4)每个对象都拥有其类型
(5)某一特定类型的所有对象都可以接收同样的消息

3.每一个对象在内存中都有唯一的地址

1.2 每个对象都有一个接口

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

2.UML中 每个类用一个方框表示 一般只有类名和公共方法被展示于UML设计图中

1.3 每个对象都提供服务

1.将对象想象为服务提供者 开发一个程序设计时 目标就是去创建(最好从现有代码库中寻找)能够解决问题的对象。

2.高内聚   是软件设计的基本质量要求之一  
设计对象时所面临的一个问题是将过多的功能都塞在一个对象中

3.良好的面向对象设计 每个对象都可以很好地完成一个任务 但是它并不试图做更多的事

1.4 被隐藏的具体实现

1.访问控制的原因 
(1)让客户端程序员触及不到他们不应该触及的部分
(2)允许库设计者可以改变类内部的工作方式而不用担心会影响到客户端程序员

2.private 只能类型创建者和类型内部方法可以访问 
   protected与private的区别仅在于继承的类可以访问protected成员但不能访问private成员
若没有提到任何指定访问词 则为默认访问权限 也称作包访问权限 该权限下类可以访问同一个包中的其他类成员  但包之外 如同private一样

1.5 复用具体实现

1.代码复用是面向对象程序设计语言所提供的最了不起的优点之一
   最简单的复用就是直接使用该类的一个对象

2.使用现有的类合成新类 称为组合 
   若组合是是动态发生的 通常被称为聚合
   在建立新类时 应该首先考虑组合而非继承