Класе против структура
Неки од главних концепата објектно оријентисаних језика (ОО) су инкапсулација, наследство и полиморфизам. Класа и структура су две ОО конструкције / алати који помажу програмерима да постигну ове концепте унутар већине постојећих ОО програмских језика (Јава не пружа структуре). Часови су апстрактни приказ објеката из стварног света. Структуре су врло сличне класама са сличном употребом, али имају неколико ограничења у поређењу с класама. Обје класе и структура користе се за груписање сличних врста података, заједно.
Шта су часови?
Класе приказују апстрактни приказ објеката у стварном свету, док односи приказују како је свака класа повезана са другима. И класе и односи имају својства која се називају атрибутима. Методе у класама представљају или дефинирају понашање ових класа. Методе и атрибути наставе називају се члановима класе. Обично се енкапсулација постиже приватношћу атрибута, стварајући јавне методе које се могу користити за приступ тим атрибутима. Објект је инстанца класе. Насљеђивање омогућава кориснику да проширује класе (које се називају подкласе) из других класа (које се називају супер класе). Полиморфизам омогућава програмеру да замењује објект класе уместо објекта његове супер класе. Обично именице које се налазе у дефиницији проблема директно постају класе у програму. Слично томе, глаголи постају методе. Јавни, приватни и заштићени су типични модификатори приступа који се користе за часове. Дијаграм класа приказује класе система, односе између класа и њихове атрибуте.
Шта су структуре?
Као што је горе споменуто, структуре су врло сличне класама са сличном употребом, али имају мало ограничене могућности од класа. У ствари, часови се могу сматрати продужетком структура. На пример, структуре су исте као и класе у Ц ++, али подразумевано имају јавне чланове. Корисник може дефинисати структуру тако да представља тип који је састављен. Слично као и класе, структуре садрже чланове који могу припадати многим типовима. Структура кључних речи користи се за дефинисање структуре у Ц и Ц ++, док се структура кључне речи користи за исту у .НЕТ програмским језицима.
Која је разлика између класа и структура?
Иако су и класе и структуре сличне конструкције које се налазе у програмским језицима, имају суптилне разлике. Типично је класа продужетак структуре, па стога структуре имају одређена релативна ограничења. На пример, структуре се могу сматрати истим као класе у Ц ++, али чланови нису подразумевано јавни у класама (за разлику од структура). То заправо значи да можете дефинисати класу и структуру са потпуно истим карактеристикама користећи одговарајуће модификаторе приступа у Ц ++. Међутим, на Ц-у, структуре не могу садржавати никакве функције или преоптерећене операције. Кључне речи класа и структура користе се за дефинисање класе и структуре у Ц ++. Када је ријеч о .НЕТ језицима (Ц #, ВБ.НЕТ итд.), Класа је референтни тип, док је структура тип вриједности. И обично се структуре користе за мање објекте, али класе се користе за веће објекте који се дуже задржавају у меморији.