Jump to content

Програмирање - Value and Reference Types in C#

Оцени ову тему


Препоручена порука

  On 27. 3. 2017. at 22:59, Grizzly Adams рече

"Структуре" се од класа разликују пре свега како су интерно имплементиране (мало компликовано за објашњење), иначе су функционално скоро исте као класе.

Expand  

Уз једну важну разлику...

16lelj8.jpg

Link to comment
Подели на овим сајтовима

Да, покушавам да не залазимо сад у све детаље јер би успорили пуно... А све те ствари могу да се разјасне и касније. Биће и лакше да се разуме.

За сада можемо да кажемо да су све то неке врсте "класа".

ΜΟΛΩΝ ΛΑΒΕ

Link to comment
Подели на овим сајтовима

  On 27. 3. 2017. at 23:33, Grizzly Adams рече

Да, покушавам да не залазимо сад у све детаље јер би успорили пуно... А све те ствари могу да се разјасне и касније. Биће и лакше да се разуме.

За сада можемо да кажемо да су све то неке врсте "класа".

Expand  

Па и јесу. Класе и страктови су несрећна имена. По мени би било боље да се сви заједно зову класе или типови, небитно, а онда да једно зовемо класе вредности, а друго класе референци при чему само класе референци можеш да наследиш. А да мало забиберим, у апстрактој алгебри се типови зову сорте, а кад имаш наслеђивање, то су онда уређене сорте. 

Link to comment
Подели на овим сајтовима

  On 27. 3. 2017. at 23:39, Juanito рече

Па и јесу. Класе и страктови су несрећна имена. По мени би било боље да се сви заједно зову класе или типови, небитно, а онда да једно зовемо класе вредности, а друго класе референци при чему само класе референци можеш да наследиш. А да мало забиберим, у апстрактој алгебри се типови зову сорте, а кад имаш наслеђивање, то су онда уређене сорте. 

Expand  

Па они их слично томе и зову - "value types" and "reference types".

  • Волим 1

ΜΟΛΩΝ ΛΑΒΕ

Link to comment
Подели на овим сајтовима

  On 27. 3. 2017. at 23:35, Grizzly Adams рече

@Juanito

А за тебе питање - зашто онда string који је класа се понаша као структура при додели и поређењу? :)

Expand  

Зар није string immutable? А кад је нешто immutable, онда је небитно да ли је имплментирано као референца. Разликовање референци и вредности има смисла само при мутацији. 

Link to comment
Подели на овим сајтовима

  On 27. 3. 2017. at 23:41, Grizzly Adams рече

Па они их слично томе и зову - "value types" and "reference types".

Expand  

Да, само бих ја то ”озваничио” синтактички, нпр. valuetype Int {}, referencetype Window {}. :)

Link to comment
Подели на овим сајтовима

  On 27. 3. 2017. at 23:44, Juanito рече

Да, само бих ја то ”озваничио” синтактички, нпр. valuetype Int {}, referencetype Window {}. :)

Expand  

Јер заиста, Урош је с правом питао зар нису и бројеви класе. Па јесу, брате. У ствари, у првобитним ОО језицима су постојале само класе и евентуално примитвни типови попут бројева и стрингова. Збрку је направио C++ који је по дефиницији морао да наследи све из C-a. И даље разбијам главу зашто су ту збрку морали да задрже у C#-у који је прављен од нуле. 

Link to comment
Подели на овим сајтовима

@Grizzly Adams

Кад будеш заиста докон, попиј једно три пива и погледај још једно излагање овог краља.

Ово је баш heavy, и то не само за почетнике. Ако неко случајно баци поглед, ово вам не треба да бисте програмирали, па чак ни да бисте радили у неком гуглету или мајкросфту. У питању су математичке теоријске основе програмских језика, јер, веровали или не, програмски језици имају смисла. :D 

Link to comment
Подели на овим сајтовима

  On 28. 3. 2017. at 0:05, Juanito рече

Кад будеш заиста докон, попиј једно три пива и погледај још једно излагање овог краља.

Expand  

Стиго сам до пола... Како је луд хбт... :)

  • Волим 1

ΜΟΛΩΝ ΛΑΒΕ

Link to comment
Подели на овим сајтовима

Davno beše kad sam čitao o klasama i strukturama.

Koliko se sećam strukture su starije i uvedene su pre klasa i čini njihovu preteču.

Zar nije osnovna razlika između klasa i struktura u tome što klase sadrže i metode dok ih strukture nemaju?

  On 9. 1. 2020. at 12:45, HOA+ рече

(dodeljivanje ordenja): Тиме свака Црква сваком верном народу указује на систем хришћанских вредности и врлина које хришћанин треба да има.

Expand  

 

 

Link to comment
Подели на овим сајтовима

  On 28. 3. 2017. at 6:32, VaSa110 рече

Zar nije osnovna razlika između klasa i struktura u tome što klase sadrže i metode dok ih strukture nemaju?

Expand  

Да, добро се сећаш. Тако је било у C++,  али C# има другачији приступ.

ΜΟΛΩΝ ΛΑΒΕ

Link to comment
Подели на овим сајтовима

×
×
  • Креирај ново...