游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1414|回复: 0

JAVA 2 程序设计语言重点难点剖析及对策(一) wxh zt

[复制链接]

1367

主题

1993

帖子

2118

积分

金牌会员

Rank: 6Rank: 6

积分
2118
发表于 2004-11-25 19:50:00 | 显示全部楼层 |阅读模式
摘 要 本文讨论了面向对象程序设计技术的四大特性即抽象性、封装性、继承与派生性、多态性以及JA2
VA 语言中实现这四种特性的具体方法;对JAVA 语言中实现多线程的两种方式也进行了描述。对于初学者把
握JAVA 语言重点难点,学习好JAVA 语言有一定的指导意义。
关键词 JAVA 语言 多态 接口 线程
中图分类号:TP312  文献标识码:A  文章编号:1671 - 3524(2002) - 02 - 0047 - 05
收稿日期:2001 - 11 - 10
作者简介:欧建圣,男,1956 年生,计算机专业讲师。
  JAVA 语言以其“与平台无关、完善的安全机制、内嵌式网络支持、分布式处理”等显著特色受到软件界的追
捧,成为编写网络应用程序的首选工具之一。但是它的结构体系庞大,使人望而生畏,学习过的人也感到它难
以驾驭。关于JAVA 语言的重点难点,因人而异,各个人有自己的特殊性。本文有侧重地对JAVA 语言难点进
行了剖析,期望能对JAVA 语言的初学者有较大的帮助和启发。
1  面向对象程序设计技术的特性
面向对象程序设计技术的产生和发展是程序设计方法学的一场革命。它用模仿人类思维过程、观察、表
达、处理问题的方法指导人们进行软件开发,使得软件开发进入到现代化大规模生产阶段成为现实。JAVA 语
言是面向对象程序设计技术成功应用的典范之一。
面向对象程序设计技术有四大特性即抽象性、封装性、继承与派生性、多生态。下面结合JAVA 语言叙述
这四大特性。
抽象性(Abstract) :抽象性是指在软件开发的分析、设计时对具体问题(对象) 进行归纳、概括,并将这一类对
象的公共特性加以条理化和严格描述。它主张集中思想和精力,考虑关键、主要、实质性问题,取掉非主要的部
分,便于软件开发人员对整个问题准确的认识。在JAVA 语言中体现在它用数据抽象的方法把系统要处理的
数据(属性) 以及这些数据上的操作(代码) 结合在一起。具体有抽象方法(Abstract Method) 及含有抽象方法
(Abstract method) 的抽象类(Abstract Class) 。抽象类用于继承与派生,它不能产生类对象实例,只有当继承与派
生的子类重载了父亲的全部抽象方法后,才能产生类对象实例。产生类对象实例的语法格式为:类名 对象名
= new  类名(  ) 。
封装性(Encapsulation) :封装是将对象的数据(属性) 和基于数据的相关方法(代码) 给合在一起。封装的基
本要求是要有一定的边界范围,所有内部变化都限制在边界范围内;有明确的外部接口,此对象利用这一接口
与其它对象发生关联:对内有严格的数据保护措施。这样形成了一个自我管理、自我平衡、高度统一的封闭整
体。这个封闭整体能在适当的条件下独立工作。封装的特性极大提高了软件的可重用性程度。在JAVA 语言
中封装性体现在类定义的语法结构上,类名及一对花括号,形如:Class Classname{ ⋯⋯∥类中的数据和方法} ;外
部接口例如public(公共) ,对内有特定访问权限例如private(私有) 。
继承与派生性( Inheritanceuand Extends) :继承与派生性是面向对象程序设计技术中最具有特色的内容,也
是与传统方法最不相同的地方。继承是反映两个类之间的一种关系,当一个类拥有另一个类的全部数据和方
第14 卷第2 期
2002 年6 月
         
武汉工程职业技术学院
Journal of Wuhan Engineering Institute
          
Vol. 14. No. 2
June. 2002
© 1995-2004 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.
法就说明这两个类有了继承关系。被继承的类称为父类,继承的类称为子类。对原有的数据和方法等资源直
接引用继承,使得程序结构清晰、减少编码和维护工作量,使得软件开发不至于每次都是“万丈高楼平地起”。
但是继承也不是僵化的、默守陈规的,而是在继承的基础上加以“发扬光大”,创造性的生产新类,这种思想称为
派生。在JAVA 语言中通过关键词Extends 实现继承关系,同时还提供了重载(Overloading) 和覆盖(Overriding)
手段。因此在某一个类中其成员有三种类型即继承型,从父类继承过来的;改造型:对父类的成员加以修改:扩
充型:在继承的基础上新增加子类自己的赋有个性的成员。正因为改造与扩充,使得面向对象程序设计技术在
软件界有极大的诱感力,为软件开发者提供了广阔的创造性舞台。事实上JAVA 语言设计中无处不在创造、创
新、程序设计的过程就是不断使用重载(Overloading) 和覆盖(Overriding) 手段的过程。下面介绍与重载覆盖有关
的面向对象程序设计技术的多态性。
多态性(Polymorphism) :利用“重名”现象对程序进行抽象,使之更加具有简洁性和条理性。所谓多态是指
在一个类中有多个同名的功能上有差异(或相似) 的方法共存的现象。在JAVA 语言中有两种多态情况。第一
种是子类在继承父亲的成员方法时,在子类的定义中,一次或多次重写了父类的成员方法,这种情况称为覆盖
(Overriding) ;第二种是在同一个类中定义了多个同名方法,这种情况称为重载(Overloading) 。无论是哪一种情
况,都必须同名、同修饰词,但形式参数的个数、类型、顺序必须有所区别。在实际调用这些方法时,由系统根据
形式参数的差异调用不同但同名的方法。在多个同名方法情况下,隐藏了不同的技术细节,实现了不同的功
能。这种多态性为软件的开发、管理、维护提供了极大的方便,一方面提高了程序的抽象性和简洁性,另一方面
降低了类和程序模块之间的耦合性,提高了类模块的封闭性。
综上所述在学习JAVA 语言过程中, ①要以类、对象、和成员方法与成员数据为主线索; ②明确系统提供了
哪些包及类库、每个类有哪些成员。③掌握系统提供的类有三种方法:继承,例如Applet 程序直接继承了Applet
类,用户改写了Applet 类的Init (  ) 、Paint (  ) 、Start (  ) 、Stop (  ) 等方法; 创建系统类对象: 例如使用
TextField ,用new TextField (“文本1”) 实例化一个类对象;直接使用系统提供的类,例如:System. out. println () ;
④在用户自己定义的类时,坚持先定义,后使用的原则,即产生类对象实例。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-23 10:33

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表