Называть публичный статический финал строчными? - PullRequest
0 голосов
/ 15 июля 2011

У меня есть иерархия классов:

class Page {
}
class ChildPage1 extends Page {
    private static final String URL;
}
class ChildPage2 extends Page {
    private final String url;
}

Некоторые страницы имеют статические URL, а другие - нет. Мне нужны некоторые методы, такие как load() в родительском классе Page, которые будут использовать URL своего потомка. Я думал о реализации этого таким образом:

  • используя API отражения
  • именование статических конечных URL-адресов строчными буквами (в нарушение соглашений об именах).

Стоит ли в этом случае не следовать соглашениям об именах?

1 Ответ

1 голос
/ 15 июля 2011

Вы можете решить свою проблему, добавив абстрактный метод 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;
    }
}
...