Java程序设计:OOP与多态

需积分: 0 1 下载量 80 浏览量 更新于2024-08-23 收藏 532KB PPT 举报
"该资源是关于Java编程的课程资料,主要关注面向对象编程(OOP)的概念,特别是多态性。课程由陆绍飞教授,参考书籍包括《Thinking in Java》和《Java编程思想》等。课程内容涵盖从对象基础到网络编程的多个主题,并通过实例演示了如何创建和使用各种形状的类,如Square、Triangle和Circle,以及如何利用多态性进行方法调用。" 在Java中,伴随多态性的可互换对象是面向对象编程的一个核心概念。多态性允许你使用一个父类类型的引用指向子类的对象,从而在不需知道具体对象类型的情况下调用其公共方法。在这个例子中,`Shape` 是一个抽象基类,它定义了 `draw()`, `erase()`, `move()`, `getColor()` 和 `setColor()` 这些方法。`Square`, `Triangle`, 和 `Circle` 都是从 `Shape` 类派生出来的子类,它们至少实现了 `draw()` 和 `erase()` 方法。 `doStuff(Shape s)` 函数接受一个 `Shape` 类型的参数,这意味着它可以接受任何 `Shape` 的子类对象。在函数内部,`s.erase()` 和 `s.draw()` 的调用会根据实际传入的对象类型执行对应子类的方法。这就是后期绑定或动态绑定的体现,Java会在运行时根据对象的实际类型来决定调用哪个版本的方法,而不是在编译时确定。 在非面向对象编程中,这样的操作通常需要显式地知道对象的类型,即前期绑定,这限制了代码的灵活性。而在Java这样的OOP语言中,你可以编写更加通用的代码,这些代码可以处理多种类型的对象,只要它们符合一定的接口或继承关系。 课程的目标是使学生掌握Java语言的OOP模式,不仅限于编码,还涉及网络编程。课程结构包括一系列主题,从基础的对象概念到高级的特性如多线程和网络编程,通过学习这些,学生将能够使用Java进行更复杂的系统开发。此外,课程还强调了实践和实验,通过作业、期中和期末考试进行评估,确保学生对所学知识有深入的理解和应用能力。