我有一个名为Image
的类和一个扩展它的类为ImageSheet
。ImageSheet
与Image
相同,不同之处在于它具有其他字段,例如图像纸上的帧数。
我想做的是拥有它,因此我可以调用drawImage(img, frame)
并使img
成为Image
或ImageSheet
并使用相同的方法来处理它们,唯一的区别是,如果它是Image
那么frame
字段将被忽略,但是当它是ImageSheet
时,将读取frame
字段并将其用于绘制特定的帧。
我试图避免使用单独的方法,因为它是Image
还是ImageSheet
,因为我已经有3种不同的drawImage()
方法接受不同的输入变量,并且如果我为每个类都做一个,则我将有3对每对基本上相同的方法。
我如何才能实现自己的想法?
最佳答案
我假定drawImage是Image / ImageSheet之外的方法,如果要避免使用单独的方法,则可以使用instanceof并检查img参数是否为imageSheet的实例。
关于java - 类和子类的处理方式是否相同?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9107234/