Java - Класове и неизменяеми обекти

Съдържание
Разработването на приложение не е само писане на код, който решава проблем, както беше показано, има хиляди начини за атака на всяка ситуация, която ни попадне. The обектна ориентация това надхвърля създаването на класове и създаването на екземпляри, това е нещо, което трябва да бъде стил на развитие и философия.
За да продължим да се задълбочаваме в това, което обектната ориентация представлява като философия, трябва да разберем различни понятия, някои по-прости, други по-сложни, но като ги добавим към знанията си, ще постигнем по-добро разбиране за това как да се изправим пред приложение.
Когато създаваме a обект, нормалното е, че можем да променяме техните атрибути в хода на тяхното съществуване в нашите програми или приложения, но това поведение не винаги е това, което искаме, било поради технически причини, или защото искаме да поддържаме целостта на екземплярите, ще има са моменти, когато тези от нас, които ще искат даден обект да бъде променен.
Какво са те?За да отговорим на тази нужда, имаме това, което се нарича неизменни класовеТези класове имат поредица от частни атрибути, които поради тяхната видимост не могат да бъдат докосвани от външни елементи, но също така тези класове нямат модифициращи методи, така че след като обектът е установен чрез конструктора, техните атрибути няма да се променят.
За да направите клас неизменен една от първите стъпки не е да имате зададени методи, тоест тези, които присвояват стойности на атрибутите, нека видим в следния код малък пример за как да получите неизменим клас:

В примера виждаме как изграждаме a клас СтудентВ този клас трябва да отговаряме на всички изисквания, за да бъде неизменим клас, дефинирали сме частни атрибути, конструкторът е единственият, който присвоява стойности при създаване на инстанция и имаме методи, които ни позволяват достъп до стойностите На атрибутите.
Можем да мислим, че това е много просто, но отчасти не е така, тъй като въпреки поставянето на частни атрибути и да нямаме методи, които да ги променят, е начало, но трябва да сме внимателни към други елементи, които можем да включим в нашите класове, които могат да противоречат на принципа, който разработваме, нека видим следния пример:

Виждаме, че това е практически един и същ ученически клас, но дефинирахме нов атрибут, който е „дата на създаване”Този атрибут има функцията да съхранява датата, на която създаваме обект, но е от типа ДатаТова е проблем за нас, тъй като от този тип можем да използваме метод, който променя стойността и да го свърже с препратката към атрибута, с което той вече няма да бъде неизменим клас.
След това трябва да се погрижим за тези подробности, ако искаме да използваме този ресурс при създаването на нашите приложения и програми.
В този урок научихме нова концепция за обектна ориентация и извън нея направихме примерите JavaМожем да приложим това към всеки език, разбира се, спестявайки технически различия, така че ще работим с философия, а не с технически характеристики.Хареса ли ви и помогнахте на този урок?Можете да възнаградите автора, като натиснете този бутон, за да му дадете положителна точка
wave wave wave wave wave