第4章 面向对象编程
4-1 静态变量有何特点?如何引用静态变量?
解:static声明的成员变量被称为静态变量。静态变量的特点是其为类固有的成员变量,可以直接引用,其他成员变量仅仅被声明,生成实例对象后才存在,才可以被引用。
4-2 静态方法有何特点?静态方法引用成员变量时有何要求?
解:static声明的成员方法被称为静态方法。静态方法的特点是可以通过对象来调用,也可以通过类名来调用。实例方法只能通过对象来调用。静态方法引用成员变量时要求其为静态变量。实例方法体中既可以访问静态变量,也可以访问实例变量。
4-3 何为抽象类、抽象方法?
解:abstract声明的类与方法称为抽象类与抽象方法。抽象类不能实例化一个对象,它只能被继承。一个抽象类可以含有抽象方法。抽象方法是指不能实现的方法,因为它没有方法体,所以抽象方法不能出现在非抽象类中。一个抽象类不一定非要包含一个抽象方法,但一个类如果包含一个抽象方法就必须声明为抽象类。一个子类如果没有实现父类中的抽象方法也必须声明为抽象类。
4-4 类与对象有何关系?如何创建对象?
类与对象的关系可以视为模板与产品的关系、类型与变量的关系。对象是类的实例,可视为类的变量。当程序运行时,对象占用内存单元。类与对象是密切相关的,没有脱离对象的类,也没有不依赖类的对象。 进入21世纪,计算机成为人类常用的现代工具,每一个有文化的人都应当了解计算机,学会使用计算机来处理各种的事务。
学习计算机知识有两种不同的方法:一种是侧重理论知识的学习,从原理入手,注重理论和概念;另一种是侧重于应用的学习,从实际入手,注重掌握其应用的方法和技能。不同的人应根据其具体情况选择不同的学习方法。对多数人来说,计算机是作为一种工具来使用的,应当以应用为目的、以应用为出发点。对于应用性人才来说,显然应当采用后一种学习方法,根据当前和今后的需要,选择学习的内容,围绕应用进行学习。
学习计算机应用知识,并不排斥学习必要的基础理论知识,要处理好这二者的关系。在学习过程中,有两种不同的学习模式:一种是金字塔模型,亦称为建筑模型,强调基础宽厚,先系统学习理论知识,打好基础以后再联系实际应用;另一种是生物模型,植物并不是先长好树根再长树干,长好树干才长树冠,而是树根、树干和树冠同步生长的。对计算机应用性人才教育来说,应该采用生物模型,随着应用的发展,不断学习和扩展有关的理论知识,而不是孤立地、无目的地学习理论知识。
传统的理论课程采用以下的三部曲:提出概念一解释概念一举例说明,这适合前面**种侧重知识的学习方法。对于侧重应用的学习者,我们提倡新的三部曲:提出问题一解决问题一归纳分析。传统的方法是:先理论后实际,先抽象后具体,先一般后个别。我们采用的方法是:从实际到理论,从具体到抽象,从个别到一般,从零散到系统。实践证明这种方法是行之有效的,减少了初学者在学习上的困难。这种教学方法更适合于应用型人才。
检查学习好坏的标准,不是“知道不知道”,而是“会用不会用”,学习的目的主要在于应用。因此希望读者一定要重视实践环节,多上机练习,千万不要满足于“上课能听懂、教材能看懂”。有些问题,别人讲半天也不明白,自己一上机就清楚了。教材中有些实践性比较强的内容,不一定在课堂上由老师讲授,而可以指定学生通过上机掌握这些内容。这样做可以培养学生的自学能力,启发学生的求知欲望。