JAVA第一章 对象导论

	/*+
	 * 1、编程语言的产生起源与对机器的模仿
	 * 2、www.MindView.net <<c编程思想>> Think in C
	 * 
	 */
	
	/*
	 * 什么是抽象过程
	 * 1、抽象类型:类型指的是:抽象的是什么
	 * 2、命令式语言:FORTRAN,BASIC,C是对汇编语言的抽象
	 * 3、每个对象就像是一台微型计算机:具有状态也有操作
	 * 4、面向对象程序设计的特性
	 * (1)、万物皆是对象
	 * (2)、程序是对象的集合:他们通过发送消息告知彼此需要做什么
	 * (3)、每个对象都有自己的由其他对象所构成的存储
	 * (4)、每个对象都有它的类型
	 * (5)、某一特定类型的所有对象都可以接收同样的消息:比如圆形对象可以接收几何形对象同等的消息
	 */
	
	/*
	 * 每个对象都有一个接口
	 * 1、类描述了具有相同数据和行为的对象的集合,所以类就是一个数据类型
	 * 2、Java允许程序员定义自己需要的数据类型来适应问题,即定义新的类,编程系统也会检查和照管新类
	 * 3、对象接口确定某一对象所能发送和接收的请求,
	 *   Light it=new Light();
	 *   it.on();
	 * 定义一个对象的引用it,然后调用new方法来创建该类型的新对象。然后向对象发送请求(调用请求接口(即方法)),对象就知道自己该做什么
	 * 4、UML:统一建模语言
	 */
	
	/*
	 * 每个对象都提供服务
	 * 1、程序是对象的集合,它通过对象之间的服务来完成工作。对象就是服务提供者,它将调用本身或其他对象的服务来完成目的。程序员就是根据需要确定
	 * 我们需要哪些对象。
	 * 2、对象的内聚性:
	 * 高内聚是软件设计的基本质量要求之一:即一个软件构建(一个对象,一个方法或一个对象库)各個方面組合的很好。
	 * 就是說:每一个对象由不必由太多动能,可以被其他对象复用。		 
	 * 
	 */
	
	/*
	 * 被隐藏的具体实现
	 * 1、程序开发人员分为:1、类创建者(创建数据类型)和客户端程序员(应用数据类型)
	 * 类创建者的目标是构建类:这种类只向客户端程序员暴露必备的部分,而隐藏其他部分
	 * 2、访问控制:
	 * (1)让客户端程序员无法触及他们不该触及的那一部分
	 * (2)库设计者改变内部方式而不影响客户端程序员
	 * java通过三个关键字设定内部边界:
	 * (1):public:任何人都可使用
	 * (2):private:只有类的内部方法可以使用
	 * (3):protected:一般作用与private相当,不同的是继承类可以访问
	 * (4):默认:包访问权限:同包的类可以访问
	 */
	
	/*
	 * 复用具体实现
	 * 1、代码复用是面向对象程序设计最了不起的优点之一
	 * (1):复用方式
	 * 		直接使用该类的对象
	 * 		将一个类的对象置于一个新类中(组合:汽车拥有引擎):新类的成员一般为private
	 */
	
	/*
	 * 继承
	 * 1、Java编程语言的基本单位:class
	 * 2、继承的出现:有一个类和另一个类有相似的属性和功能。
	 * 	导出类比基类具有更多的特性和功能。(导出类和基本具有相同的类型,圆形也是几何形)
	 * 3、两种方法使导出类和基类有差异性
	 * 	(1):在导出类中添加新方法
	 * 	(2):覆盖
	 * 4、“是一个”和“像是一个”的关系
	 * 	替代原则
	 * 	(1):完全覆盖:即导出类完全重写基类的方法(是一个的关系)
	 * 	(2):扩展接口(添加新功能)(像是一个的关系)
	 */
	
	/*
	 * 伴随多态的可互换对象
	 * 1、在处理类型的层次结构时,经常想把一个对象不当成它的特定对象来处理,而是将它当作基类对象来对待:把自行车看做交通工具,把鹦鹉看成鸟
	 * 	对象会根据自己的类型执行相应的方法
	 * 2、前期绑定和后期绑定
	 * 前期绑定:在编译时产生一个具体函数名字的调用:运行时调用执行代码的绝对地址
	 * 后期绑定:运行时才能确定代码的绝对地址,编译器确保调用方法的存在,并对参数和返回值进行检查。
	 * 后期绑定的实现:Java使用一小段特殊代码替代绝对地址的调用
	 * C++是使用virtual关键词实现的,而Java动态绑定是默认行为
	 * 
	 * 3、将导出类当做基类处理:
	 * 向上转型的过程:“你是一个几何形,你有自己的draw()方法,去做吧”
	 */
	
	/*
	 * 单根继承结构
	 * 1、终极基类:object
	 * 2、单根继承结构保证所有对象都具备某些功能
	 * 3、对象在堆上创建
	 * 4、单根继承使垃圾回收机制变得简单
	 */
	
	/*
	 * 容器
	 * 1、C++中使用“集合”来表述,Java使用容器表述
	 * 2、Java具有满足不同需要的各种类型的容器:List(用于序列存储),Map(关联数组),Set(每个对象类型只持有一个)
	 * (1):不同类型的容器提供不同类型的接口和外部行为
	 * (2):不同类型对于某些操作具有不同的效率
	 * 3、参数化类型(容器中只存储object类型):向上转型是安全的,向下转型是不安全的
	 * 4、Javase5的重大变化之一:增加参数化类型:称为泛型:用<>表示
	 * List<Shape> list=new ArrayList<Shape>();	 
	 * 
	 */

	/*
	 * 对象的创建和生命期
	 * 1、对象生存需要内存
	 * 2、Java采用了动态内存分配方式:创建对象使用new关键字
	 * 3、垃圾回收机制:发现对象不再被使用,就销毁他
	 */
	
	/*
	 * 异常处理
	 */
	
	/*
	 * 并发编程:
	 * 1、操作系统的并发是基于中断服务程序,分配时间片的手段
	 * 2、Java的并发是内置于语言的:Javase5添加了很多大额的库支持
	 */
	
	/*
	 * Java和Internet
	 * 1、客户端/服务器技术
	 * 服务器是提供服务的:服务器上有信息存储池
	 * 2、web是一台巨型服务器
	 * 3、客户端编程
	 * 早期的交互只由服务器提供:浏览器只负责解析翻译
	 * form表单提交是通过服务器提供的通用网关接口CGI(但CGI启动很慢,消耗网络带宽)
	 * 4、客户端编程如何实现:
	 * (1):插件
	 * (2)脚本语言
	 * (3)Java(通过applet和Java web start)
	 * (4).net和C#
	 * 5、服务器编程
	 * (1)返回一个编排好的页面
	 * (2)利用脚本语言解析原始数据
	 * (3)servlet+jsp
	 * 6<<企业Java编程思想>>thinking in enterprise java
	 * 
	 */

猜你喜欢

转载自blog.csdn.net/Goblin_E/article/details/84851314