在父类中,我们有一个抽象方法:
public abstract void parentMethod();
在子类中,方法定义如下:
public void parentMethod()
{
System.out.println("this is child class 1")
}
和
public void parentMethod()
{
System.out.println("this is child class 2")
}
分别。
如何完成父类的实现?
答案 0 :(得分:0)
您无法从父类调用子方法。考虑反转层次结构(使父类成为子类)或使方法成为处理类对象的外部处理程序的一部分。您能提供示例代码,然后我可以进一步建议您吗?
修改强>
这里我假设你想要使用父容器调用子方法。这样做看起来好像你有一个父对象,但它会调用子方法。
// example:
$property = 'foo';
echo $e->{$property . 'Suffix'}; // good, uses $e->fooSuffix
echo $e->$property . 'Suffix' // bad, uses $e->foo and adds "Suffix" literal
然后,如果我理解正确,你只需abstract class Parent
{
abstract public void parentMethod();
}
class ChildClass extends Parent
{
@Override
public void parentMethod()
{
System.out.println("Child method");
}
}
和Parent child = new ChildClass();
。
答案 1 :(得分:0)
如果你想要孩子的方法有不同的impl你的ood关闭。
您的父类应该是定义要在子项上实现的方法的接口。
然后,您应该通过此
访问子项中的方法