Статические методы не могут быть наследованы или переопределены, и именно поэтому они не могут быть абстрактными. Так как статические методы определяются на типе, не экземпляре, класса, их нужно назвать явно на том типе. Таким образом, когда Вы хотите назвать метод на дочернем классе, необходимо использовать его имя для вызова его. Это делает наследование не важным.
Предполагают, что Вы могли, на мгновение, наследовать статические методы. Вообразите этот сценарий:
public static class Base
{
public static virtual int GetNumber() { return 5; }
}
public static class Child1 : Base
{
public static override int GetNumber() { return 1; }
}
public static class Child2 : Base
{
public static override int GetNumber() { return 2; }
}
, Если Вы называете Основу. GetNumber (), какой метод назвали бы? То, которые оценивают, возвратилось? Его довольно легкое, чтобы видеть, что, не создавая объекты-экземпляры, наследование довольно трудно. Абстрактные методы без наследования являются просто методами, которые не имеют тела, так не может быть назван.
Похоже, вы установили неправильную версию.
Существует 3 версии:
Посетите эту страницу , чтобы узнать больше о различиях. Для вариантов архитектуры:
Средство просмотра диаграмм UML® и слоев - доступно в Premium и Ultimate
Обозреватель архитектуры - доступно только в Ultimate
UML 2.0-совместимых диаграммах (действие, вариант использования, последовательность, класс, компонент) - доступно только в Ultimate
Layer Diagram and Dependency Validation - доступно только в Ultimate