Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

a.polyanska avatar a.polyanska 107 Точки

[Technical Issue] Имплементиране на интерфейс

Здравейте,

Оказва се, че имам голям проблем с разбирането на интерфейсите. Конкретният ми ъпрос е по повод задачата от домашното за наследяване - Company Hierarchy. Създала съм следния интерфейс:

 public interface IEmployee
    {
         decimal salary { get; set; }
         Department department { get; set; }

    }

който се опитвам да имплементирам тук

По този начин направено обаче, ми казва, че не изпълнявам съответния интерфейс. Огледах домашните на миналия курс и не откривам съществена разлика между това, което някои от колегите са правили и това. Сигурно има щом техните вървят, та ще съм благодарна, ако някой ми разясни какво не правя, както трябва- конкретно - по-общо- защо изобщо съществуват пустите му интерфейси? За да те "задължат" да не изпуснеш някакво свойство или метод ли?

0
C# OOP Basics
a.polyanska avatar a.polyanska 107 Точки

Ако някой има време, сили и желание, ще се радвам да погледне какво сътворих. Ще се радвам и на конструктивна критика, още повече- на конструктивни похвали smile Колкото по-детайлни- толкова по-добре!

Не много хора проверяват домашни и не винаги имам добра обратна връзка, та затова, много ще ми помогнете с коментари, че да ми се доизяснят нещата. Благодаря!

Ето задачата

1
AleksandurSeferinkin avatar AleksandurSeferinkin 333 Точки

Единствените забележки, които забелязах, са за форматирането на кода, но това не е по темата. :)

Само един съвет ще ти дам: не прекалявай с namespace и папките. Можеш да изведеш всички интерфейси в една папка Interfaces, релативна на тази на проекта - сиреч в root. Базовия клас и енумерацията също в root и всички наследници на Employee в папка "Employees".

Според мен не е необходимо за всеки отделен тип да се прави нов namespace, а за няколко класове, които имат сходни свойства/наследяват един и същи клас.

Имената на namespace трябва да са релативни на директорията.

namespace [Име на проекта].[Папка в проекта].[Папка в папката]

Виждам, че повечето така си ги направила, но други не. - липса на консистентност. Като цяло това е на тема КПК. :)

1
RoYaL avatar RoYaL Trainer 6849 Точки

До сега не съм виждал проект, в който интерфейсите са отделени в папка интерфейси, обикновено са там, където са съответният тип данни. Опитах се да разгледам кода на .NET в Github. Не видях и там да ги отделят в отделна папка :)

1
a.polyanska avatar a.polyanska 107 Точки

Благодаря, заемам се с обратния процес- по връщането :)

1
AleksandurSeferinkin avatar AleksandurSeferinkin 333 Точки

@RoYaL, съгласен съм, но тук ситуацията е такава. Това е 'завършен' проект и целта му е не да работи за някоя фирма, а да бъде проверен от лекторите. Идеята ми е да се улесни проверката. :)

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.