我有一个类的层次结构:
class Page {
}
class ChildPage1 extends Page {
private static final String URL;
}
class ChildPage2 extends Page {
private final String url;
}
有些网页有静态网址,但有些网页则没有。我需要一些方法,如父类load()
中的Page
,它将使用它的后代的url。我想过以这些方式实现它:
在这种情况下,不遵循命名约定是否值得?
答案 0 :(得分:1)
您可以通过向getUrl()
添加一个必须在Page
和ChildPage1
中实施的抽象方法ChildPage2
来解决您的问题。
class Page {
protected abstract String getUrl();
}
class ChildPage1 extends Page {
private static final String URL;
protected String getUrl() {
return URL;
}
}
class ChildPage2 extends Page {
private final String url;
protected String getUrl() {
return url;
}
}