Loading...

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

bacuty avatar bacuty 55 Точки

Правиш ли разлика между клас и интерфейс ?!

0
denncho avatar denncho 4 Точки

Ами интерфейсът е нещо абстрактно, което задължава наследниците му да имплементират методите или пропъртитата.

 

0
bacuty avatar bacuty 55 Точки

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

Също от интерфейса клас не може да инстанцираш. Та конкретно IList е интерфейс, който казва напр., че всеки клас, който го имплеметнира трябва да има някакви методи и пропъртита (напр. Count,Add). Сега ти можеш да решиш да си пишеш някаква custom колекция, но да искаш да има същото поведение. напр. CustomGenericList :IList, така  твойта колекция ще има същата функционалност като List.

Представи си, че имаш един метод, който ти сортира някаква колекция от int, като някой подава на този метод някаква колекция от числа, ако го имплементираш като Sort(List<int> numbers), това силно те ограничава да му подаваш параметри, като се изисква да му подаваш само обекти от тип List, ако обаче напр. е Sort(IList<int> numbers), то може да му подаваш всеки, които имплементира този интерфейс, като  CustomGenericList-a  от по-горе.

Всеки от посочените от теб интерфейси e някакво поведение, по спомен карам, но мисля че IList:ICollection, IEnumerable.

Което означава преведено, че всеки, който иска да има поведение на лист, трябва да има поведение и на колекция(мисля че беше индексацията) и на Enumerable, което е foreach.

Това е, което аз съм рабзрала през OOP курса.

 

17
13/01/2016 21:46:41
RoYaL avatar RoYaL Trainer 6849 Точки

Страхотно обяснение. Поздравления.

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