Generic
Колеги може ли някой да ми обясни какво значи List-a да е generic и също така малко по- подбробно какво значат get и set в този код
public class Node{
public Node next{get;set;}
public Node previous {get;set}
public int element {get;set}
}
Колеги може ли някой да ми обясни какво значи List-a да е generic и също така малко по- подбробно какво значат get и set в този код
public class Node{
public Node next{get;set;}
public Node previous {get;set}
public int element {get;set}
}
List<T> е generic линейна структура от данни. Generic могат да бъдат класове, интерфейси, методи, делегати и event-и. Точен превод на български не знам, но си го представи като шаблон. В случая на List-а можеш да имаш лист от int,string,bool,byte,Object и т.н. , но няма да седнеш да напишеш един и същ код за лист, който приема int и после да го copy-paste-неш, но да работи с друг тип данни или обекти. Просто compiler-а после минава и замества сам типовете данни, които са зададени. Главно generics се използват за custom колекции, преизползване на код и type safety. Естествено има и constraints, но това във OOP ще го видиш.
Get и Set са property accessor-и. В кодът, който си дал са автоматични пропъртита и зад тях стоят backing fields. Най-общо казано пропъртитата ни дават възможността да изкарваме данни от даден обект, които са енкапсулирани, но могат да потрябват на този, който извършва някаква работа с този обект (да променя вътрешния му state или да взима информация за него). Пропъртитата също ни предоставят възможността да извършваме валидации. Property accessor-ите могат да имат и access modifier-и, но пак всичко това се засяга в OOP.
тая структура дето си я дал прилича на Linked list? или някакво дърво/graph?
тях не съм ги тормозил много,все още не остава време. Колегата ти е обяснил нещата от ооп тук,макар че в твоя пример generics не виждам ako element-a ти е Т тогава вече да.
Иначе тоя вид структура ти позволява да се движиш по дървото и напред назад накъдето искаш Inheritance-a на нодовете. Общо взето доста по сложен начин но на същия принцип работи и google maps примерно.