[Technical Issue] Имплементиране на интерфейс
Здравейте,
Оказва се, че имам голям проблем с разбирането на интерфейсите. Конкретният ми ъпрос е по повод задачата от домашното за наследяване - Company Hierarchy. Създала съм следния интерфейс:
public interface IEmployee
{
decimal salary { get; set; }
Department department { get; set; }
}
който се опитвам да имплементирам тук
По този начин направено обаче, ми казва, че не изпълнявам съответния интерфейс. Огледах домашните на миналия курс и не откривам съществена разлика между това, което някои от колегите са правили и това. Сигурно има щом техните вървят, та ще съм благодарна, ако някой ми разясни какво не правя, както трябва- конкретно - по-общо- защо изобщо съществуват пустите му интерфейси? За да те "задължат" да не изпуснеш някакво свойство или метод ли?
Единствените забележки, които забелязах, са за форматирането на кода, но това не е по темата. :)
Само един съвет ще ти дам: не прекалявай с namespace и папките. Можеш да изведеш всички интерфейси в една папка Interfaces, релативна на тази на проекта - сиреч в root. Базовия клас и енумерацията също в root и всички наследници на Employee в папка "Employees".
Според мен не е необходимо за всеки отделен тип да се прави нов namespace, а за няколко класове, които имат сходни свойства/наследяват един и същи клас.
Имената на namespace трябва да са релативни на директорията.
namespace [Име на проекта].[Папка в проекта].[Папка в папката]
Виждам, че повечето така си ги направила, но други не. - липса на консистентност. Като цяло това е на тема КПК. :)
До сега не съм виждал проект, в който интерфейсите са отделени в папка интерфейси, обикновено са там, където са съответният тип данни. Опитах се да разгледам кода на .NET в Github. Не видях и там да ги отделят в отделна папка :)
Благодаря, заемам се с обратния процес- по връщането :)
@RoYaL, съгласен съм, но тук ситуацията е такава. Това е 'завършен' проект и целта му е не да работи за някоя фирма, а да бъде проверен от лекторите. Идеята ми е да се улесни проверката. :)