2011-06-07 42 views
-1

假设我有这些抽象类:使Java方法一般

class BasicObject { 
    private String name; 
    // getter and setter here 
} 

class BasicObjectExplorer { 
    void explore(BasicObject basicObject) { 
     // now some actions regarding name property 
    } 
} 

现在你已经AdvancedObject扩展延伸BasicObjectExplorer BasicObject和AdvancedObjectExplorer,如何使用仿制药重复使用基本类的代码并编写关于增加新的属性只是功能到AdvancedObject?

谢谢你的帮助。

+2

为什么你需要为仿制药?你想要什么不会简单的继承工作? – Marcelo 2011-06-07 13:43:15

+0

这不是什么泛型。 – 2011-06-07 13:45:32

+1

@Marcelo“当你拥有的只是一把锤子......” – 2011-06-07 13:45:34

回答

2

如果您要求您的抽象类作为处理泛型类的类的基础。

然后

public abstract class AbstractObjectExplorer<T> { 

    void explore(T basicObject) { 
     // now some actions regarding name property 
    } 
} 

public class Foo extends BasicObjectExplorer<String> { 
} 

public class Bar extends BasicObjectExplorer<Double> { 
} 
+0

如果你想让你的BasicObjectExplorer探索任何对象,那么它可能更好地命名为ObjectExplorer。只是一个想法。 – cHao 2011-06-07 13:45:06

+0

会说'... class AbstractObjectExplorer '是正确的吗? – cHao 2011-06-07 13:48:08

+0

@cHao No No我什么时候说的;)jk .. – 2011-06-07 13:51:04