机器人学导论第三版课后习题答案详解
9.6接口和抽象类
本章介绍了如何创建接口和抽象类(现在不考虑其成员,第10章会讲述类的成员)。这两种类型在许多方面都很类似,所以应看看它们的相似和不同之处,看看哪些情况应使用什么技术。
首先讨论它们的类似之处。抽象类和接口都包含可以由派生类继承的成员。接口和抽象类都不能直接实例化,但可以声明这些类型的变量。如果这样做,就可以使用多态性把继承这两种类型的对象指定给它们的变量。接着通过这些变量来使用这些类型的成员,但不能直接访问派生对象的其他成员。
想深入了解吗?你可以参考《JAVA继承_接口_抽象类等练习》或《Java继承_抽象类与接口的应用》来获取更多实践内容。
下面看看它们的区别。派生类只能继承一个基类,即只能直接继承一个抽象类(但可以用一个继承链包含多个抽象类)。相反,类可以使用任意多个接口。但这不会产生太大的区别——这两种情况取得的效果是类似的。只是采用接口的方式略有不同。
抽象类可以拥有抽象成员(没有代码体,且必须在派生类中实现,否则派生类本身必须也是抽象的)用非抽象成员(它们拥有代码体,也可以是虚拟的,这样就可以在派生类中重写)。另一方面,接口成员必须都在使用接口的类上实现——它们没有代码体。按照定义,接口成员是公共的。
如果你对这些概念还不是很清楚,可以看看《抽象类_接口_多态_继承整合案例》和《JAVA继承基本类抽象类接口介绍》,这些资源会给你更多的启发和实际案例。你是否对如何实现接口成员感到困惑?《不会实现接口成员》这篇文章或许可以解答你的疑问。
你将不仅能理解理论,还能看到具体的应用案例。这是不是很棒呢?多样的学习资源会让你对抽象类和接口的理解更加全面和透彻。
用户评论