万象云档 本次搜索耗时 1.359 秒,为您找到 489 个相关结果.
  • 4.2.6 函数的返回值

    4.2.6 函数的返回值 4.2.6 函数的返回值 函数作为一种模块构件,它与其他模块如何协作、交换信息?我们已经知道,通过函数 调用时的参数传递,可以实现从函数外部向函数内部输入数据。本节讨论函数向外部输出信 息的问题。 在数学中,函数是从定义域到值域的映射,亦即从自变量计算出函数值。编程语言中的 函数原本就是数学函数的模仿物,自然也可以计算出一个...
  • 7.3.3 多态性

    7.3.3 多态性 7.3.3 多态性 在 7.3.1 中定义的类 Student 和 Teacher 中,有一个同名的方法 getNum。虽然同名,但这 个方法在两个类中的行为是完全不同的:在 Student 中返回的是学号,而在 Teacher 中返回的 是学生人数。因此,当我们向一个对象 obj 发送 getNum 消息时,所得结果取决于 obj...
  • 7.1 向上转换

    7.1 向上转换 7.1.1 为什么要向上转换 7.1 向上转换 在第6章,大家已知道可将一个对象作为它自己的类型使用,或者作为它的基类型的一个对象使用。取得一个对象引用,并将其作为基类型引用使用的行为就叫作“向上转换”——因为继承树的画法是基类位于最上方。 但这样做也会遇到一个问题,如下例所示(若执行这个程序遇到麻烦,请参考第3章的3.1.2小节...
  • 4.2.5 变量的作用域

    4.2.5 变量的作用域 4.2.5 变量的作用域 程序中的变量都有自己的作用域(scope,或称辖域),即程序的一部分区域,在其中可以访问该变量。一个变量只有在它的作用域中才有定义,才能被访问。 局部变量 在一个函数中定义的变量称为局部变量(local variable),因为它们的作用域局限于该 函数的函数体,在函数外部是没有定义的。例如: ...
  • 9.3.5 小结

    9.3.5 小结 9.3.5 小结 多线程编程属于比较复杂的程序设计任务,即使对专家也不是容易的事情。这是因为多 线程在执行上具有不确定性,线程一旦启动,他们之间的相互依赖和相互作用的结果就是不 可预测的。《西游记》中的这段描写或许能帮助读者想象多线程并发执行的复杂性: 悟空见他凶猛,即使身外身法,拔一把毫毛,丢在口中嚼碎,望空喷去,叫一声“变”! ...
  • 10.10 总结

    10.10 总结 10.10 总结 Java IO流库能满足我们的许多基本要求:可以通过控制台、文件、内存块甚至因特网(参见第15章)进行读写。可以创建新的输入和输出对象类型(通过从InputStream 和OutputStream 继承)。向一个本来预期为收到字符串的方法传递一个对象时,由于Java已限制了“自动类型转换”,所以会自动调用toStri...
  • 11.4 总结

    11.4 总结 11.4 总结 利用RTTI可根据一个匿名的基类引用调查出类型信息。但正是由于这个原因,新手们极易误用它,因为有些时候多态性方法便足够了。对那些以前习惯程序化编程的人来说,极易将他们的程序组织成一系列switch 语句。他们可能用RTTI做到这一点,从而在代码开发和维护中损失多态性技术的重要价值。Java的要求是让我们尽可能地采用多态性...
  • 2.1.1 数据是对现实的抽象

    2.1.1 数据是对现实的抽象 2.1.1 数据是对现实的抽象 利用计算机解决现实问题时,首先需要将问题所涉及的信息和处理过程表示成计算机能 够接受的形式。如何建立现实问题的计算机表示呢?显然不能像照相机那样,追求将现实景 物事无巨细地复制到胶卷或 CCD 上,因为一个复杂问题所涉及的信息非常多,完全表示它 们几乎是不可能的。就拿照相来说,胶卷上的图...
  • 3.6 编程案例:如何求 n 个数据的最大值?

    3.6 编程案例:如何求 n 个数据的最大值? 3.6 编程案例:如何求 n 个数据的最大值? 面对复杂问题时,我们需要合理利用基本控制结构,设计出好的算法。对此,并不存在什么机械的套路可循,只能通过大量实践来提供我们的程序设计水平。本节通过一个案例问 题的解决,来展示程序设计过程的挑战性以及“好”程序的特征。 我们要解决的问题是:从 n 个数值中求...
  • 6.4 到底选择组合还是继承

    6.4 到底选择组合还是继承 6.4 到底选择组合还是继承 无论组合还是继承,都允许我们将子对象置于自己的新类中。大家或许会奇怪两者间的差异,以及到底该如何选择。 如果想利用新类内部一个现有类的特性,而不想使用它的接口,通常应选择组合。也就是说,我们可嵌入一个对象,使自己能用它实现新类的特性。但新类的用户会看到我们已定义的接口,而不是来自嵌入对象的接...