2012-06-24 5 views
1

Я пытаюсь создать таблицу с модификаторами класса/метода. Сама таблица может быть расположена here, хотя у меня есть некоторые вопросы:Модификаторы класса/класса C#

1) Как я читал, методы также могут быть sealed, но в чем цель этого? Способ защиты от переопределения?

2) Должны ли также быть поля abstract в abstract классе?

3) Can virtual способ есть корпус в определенном объекте/классе?

+1

вы можете попробовать их все и посмотреть, что произойдет –

+0

2) Поле декларации резервов хранения без возможности определить или переопределить взаимодействие , Переопределения происходят во взаимодействиях, таких как методы и свойства getters/seters. Вначале может показаться неясным, что вы можете переопределить свойство, когда свойство может быть хранилищем. Если это так, помните, что это просто тонкость C#; что когда вы объявляете myProp {get; set;}, он автоматически создает для вас поле поддержки, и взаимодействие происходит против этого. – shannon

ответ

3

1: да, именно это; остановка виртуального метода от переопределения в подклассе

2: поля никогда не абстрактны; Поля - реализация; ничего имеет быть абстрактным в абстрактном классе

3: да, в том, что виртуальный модификатор отличается от абстрактного модификатора. Оба представляют собой виртуальный-метод - разница полностью есть ли реализация в базовом классе

3
  1. sealed методы prevents further overriding вниз по цепочке наследования. sealed методы также должны иметь ключевое слово override.

  2. Поля не могут быть abstract. Поле - это переменная уровня класса. Вы не можете переопределить это. Свойства и методы могут быть abstract, но это не нужно.

  3. Разница между методами virtual и abstract заключается в том, что виртуальный метод имеет реализацию. Вы можете переопределить эту реализацию в производном классе.

1
  1. Да
  2. Нет - нет такого понятия, как абстрактное поле, класс является абстрактным, то есть он не может быть реализован, но поля, определенные на нем являются частью макета производного абстрактного классы.
  3. Да
Смежные вопросы