H 第2章Jaa语言概述 2.面向对象 在程序的开发设计过程中,程序员一直在设法争 取问题空间同求解空间在结构上尽可能一致,以使我 们在分析、设计和实现程序时,同我们认识客观世界 的过程尽可能地一致,因此产生了面向对象程序设计 方法。所谓面向对象的设计方法,是基于信息隐藏和 抽象数据类型概念,把系统中所有资源,如数据、模 块以及系统都看成是对象。每个对象封装数据和方法, 而方法实施对数据的处理,并且通过继承机制实现代 码复用
第2章 Java语言概述 2.面向对象 在程序的开发设计过程中,程序员一直在设法争 取问题空间同求解空间在结构上尽可能一致,以使我 们在分析、设计和实现程序时,同我们认识客观世界 的过程尽可能地一致,因此产生了面向对象程序设计 方法。所谓面向对象的设计方法,是基于信息隐藏和 抽象数据类型概念,把系统中所有资源,如数据、模 块以及系统都看成是对象。每个对象封装数据和方法, 而方法实施对数据的处理,并且通过继承机制实现代 码复用
H 第2章Jaa语言概述 传统的面向对象语言各有不足,如C++语言,由于 继承了C的大量特性,如独立的函数概念,因而变得复 杂而难用,而纯粹的面向对象语言如 Smalltalk、Eifl, 却是动态性有余,效率不高。Java完全具备面向对象 的四大特点:封装、继承、多态和动态。其封装性比 C++好,它没有全程变量,没有主函数main。在Java中 绝大部分成员是对象,只有简单数字类型、字符类型、 布尔类型除外,以便保持高性能。Java提供给用户 系列的类(casy,一个或多个cass可以组成一个包 ( package)。Java的clas8和C++的一样有层次结构,子类 可以继承父类的属性和方法。Java类中方法均缺省为 虚函数
第2章 Java语言概述 传统的面向对象语言各有不足,如C++语言,由于 继承了C的大量特性,如独立的函数概念,因而变得复 杂而难用,而纯粹的面向对象语言如Smalltalk、Eiffel, 却是动态性有余,效率不高。Java完全具备面向对象 的四大特点:封装、继承、多态和动态。其封装性比 C++好,它没有全程变量,没有主函数main。在Java中 绝大部分成员是对象,只有简单数字类型、字符类型、 布尔类型除外,以便保持高性能。Java提供给用户一 系列的类(class),一个或多个class可以组成一个包 (package)。Java的class和C++的一样有层次结构,子类 可以继承父类的属性和方法。Java类中方法均缺省为 虚函数
H 第2章Jaa语言概述 Java的面向对象与许多语言都有相通之处,与C++ 自不必说,因为Java几乎是C++的一个子集,熟悉C+ 编程的人很快会习惯Java编程。学过 Pascal的读者对 Java可能也有似曾相识的感觉,因为Java的 package和 Pascal中的Unit非常相似,都是表示某些程序块的输入, 运算符重载在C++中一向被认为是一种优雅的多态机 制,但在实践中,人们发现,运算符重载会使程序变 得难以理解,Java的设计者最后取消了运算符重载, 只在字符串连接运算中留了一些运算符重载的痕迹, 例如用“+”实现字符串的连接
第2章 Java语言概述 Java的面向对象与许多语言都有相通之处,与C++ 自不必说,因为Java几乎是C++的一个子集,熟悉C++ 编程的人很快会习惯Java编程。学过Pascal的读者对 Java可能也有似曾相识的感觉,因为Java的package和 Pascal中的Unit非常相似,都是表示某些程序块的输入。 运算符重载在C++中一向被认为是一种优雅的多态机 制,但在实践中,人们发现,运算符重载会使程序变 得难以理解,Java的设计者最后取消了运算符重载, 只在字符串连接运算中留了一些运算符重载的痕迹, 例如用“+”实现字符串的连接
H 第2章Jaa语言概述 Java语言面向对象结构的动态性很高,C++中,如 果修改了某一个类,整个程序都得重新编译。在Java 中,可以在类库中自由地加入新的方法和实例变量, 而不影响用户的程序执行。虽然C++也可以实现这种 动态性,但使用起来非常复杂,代价也很高
第2章 Java语言概述 Java语言面向对象结构的动态性很高,C++中,如 果修改了某一个类,整个程序都得重新编译。在Java 中,可以在类库中自由地加入新的方法和实例变量, 而不影响用户的程序执行。虽然C++也可以实现这种 动态性,但使用起来非常复杂,代价也很高
H 第2章Jaa语言概述 3.分布式 Java是一种面向对象的程序设计语言,它也支持网 络上的应用程序,是一种分布式( distributed)程序设计 语言。使用Java提供的类库,比如java.net,可以方便 地支持TCPP协议,完成各种层次上的网络连接。请 看下面一个简单的f登录的例子:
第2章 Java语言概述 3.分布式 Java是一种面向对象的程序设计语言,它也支持网 络上的应用程序,是一种分布式(distributed)程序设计 语言。使用Java提供的类库,比如java.net,可以方便 地支持TCP/IP协议,完成各种层次上的网络连接。请 看下面一个简单的ftp登录的例子: