Композиране на обекти и наследяване на клас
Здравейте колеги!
Може ли някой да ми обясни каква е разликата между композирането на обекти и наследеването на клас.
Благодаря Ви! И има ли нещо общо с делегиране..
Здравейте колеги!
Може ли някой да ми обясни каква е разликата между композирането на обекти и наследеването на клас.
Благодаря Ви! И има ли нещо общо с делегиране..
При композирането на обекти ти създаваш сложен такъв като комбинираш по-прости. Примерно обекта Person съдържа обектите Hand, Head, Foot...
При наследяването вземаш обект, на когото му променяш функционалността и/или добавяш нови неща.
Първото е изграждане, второто е надграждане.
Това с "делегиране" не го разбрах.
Колегата добре го е обяснил, аз само ще добавя за делегирането - да делегираш някаква функционалност означава да кажеш, че ще се изпълнява някакво действие при извикването примерно на метод, но това действие ще трябва да ти се подаде отвън, т.е. делегира се тази функционалност към програмиста, който ще я използва. Примерно имаш метод DoSomething(Func<bool, bool> action) - това означава, че когато извикаш този метод можеш да му подадеш друг метод или някаква ламбда, която да приема bool и да връща bool. Да се обясни в няколко думи е малко сложно, но това е основната идея - казваш че искаш метод, приемащ bool и връщащ bool, като не те интересува какъв ще е метода. Надявам се да съм успял поне малко да обясня какво се случвапри делегирането, успех занапред!
Бладодаря!