Почему классы и интерфейсы обьявляются ТАК ?
От: Аноним  
Дата: 22.02.07 08:08
Оценка:
Я заметил такую 'странность'. Например интерфейс ICollection объявляется так:

   public interface ICollection : IEnumerable
   {
      ...
   }

а производный от него класс Stack так:
   public class Stack : ICollection, IEnumerable, ICloneable
   {
      ...
   }

И это при том, что ICollection уже наследует IEnumerable! Тогда какой смысл Stack-у наследовать IEnumerable еще раз? Причем разработчики видимо взяли этот прием на вооружение, т.к. такой способ описания классов и интерфейсов встречается сплошь и рядом(посмотрите на IList например, или ArrayList).

Я пробовал создавать классы которые просто наследуют ICollection и которые наследуют так:
   class МойКласс : ICollection, IEnumerable
   {
      ...
   }

...и разницы не заметил. Может я чего о интерфейсах не знаю
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.