Кластар менен структуралардын ортосундагы айырма

Кластар менен структуралардын ортосундагы айырма
Кластар менен структуралардын ортосундагы айырма

Video: Кластар менен структуралардын ортосундагы айырма

Video: Кластар менен структуралардын ортосундагы айырма
Video: Биология - 9 класс - Селекция жана анын ыкмалары 2024, Июль
Anonim

Класстар жана структуралар

Объектке багытталган (ОО) программалоо тилдеринин негизги түшүнүктөрүнүн айрымдары инкапсуляция, тукум куучулук жана полиморфизм болуп саналат. Класс жана Структура - бул эки ОО конструкциясы/куралдары, алар программисттерге бул түшүнүктөрдү ОО программалоо тилдеринин көпчүлүгүндө ишке ашырууга жардам берет (Java структураларды камсыз кылбайт). Класстар реалдуу дүйнө объекттеринин абстракттуу көрүнүшү. Структуралар окшош колдонуудагы класстарга абдан окшош, бирок класстарга салыштырмалуу бир аз чектөөлөр бар. Окшош типтеги маалыматтарды чогуу топтоо үчүн класстар да, структуралар да колдонулат.

Класстар деген эмне?

Класстар реалдуу дүйнө объекттеринин абстракттуу көрүнүшүн сүрөттөйт, ал эми мамилелер ар бир класстын башкалар менен кандай байланышта экенин сүрөттөйт. Класстардын да, мамилелердин да атрибуттар деп аталган касиеттери бар. Класстардагы методдор бул класстардын жүрүм-турумун чагылдырат же аныктайт. Класстардын ыкмалары жана атрибуттары класстын мүчөлөрү деп аталат. Адатта, инкапсуляция атрибуттарды купуя кылуу, ошол эле учурда ошол атрибуттарга жетүү үчүн колдонула турган коомдук ыкмаларды түзүү аркылуу ишке ашат. Объект класстын мисалы. Мурастоо колдонуучуга класстарды (суб класстар деп аталат) башка класстардан (супер класстар деп аталат) кеңейтүүгө мүмкүндүк берет. Полиморфизм программистке класстын объектисин анын супер классынын объектисинин ордуна алмаштырууга мүмкүндүк берет. Эреже катары, маселенин аныктамасында табылган зат атоочтор түздөн-түз программадагы класстарга айланат. Жана ушул сыяктуу этиштер методго айланат. Коомдук, жеке жана корголгон класстар үчүн колдонулуучу типтүү кирүү модификаторлору. Класс диаграммасы системалардын класстарын, класстар ортосундагы мамилелерди жана алардын атрибуттарын көрсөтөт.

Структуралар деген эмне?

Жогоруда айтылгандай, структуралар окшош колдонуудагы класстарга абдан окшош, бирок класстарга караганда бир аз чектелген мүмкүнчүлүктөр. Чынында, класстарды структуралардын кеңейтилиши катары кароого болот. Мисалы, структуралар C++ тилиндеги класстар менен бирдей, бирок демейки боюнча алардын жалпы мүчөлөрү бар. Түзүм колдонуучу тарабынан композиттик типти көрсөтүү үчүн аныкталышы мүмкүн. Класстарга окшоп, структуралар көптөгөн түрлөргө таандык мүчөлөрдү камтыйт. struct ачкыч сөзү C жана C++ тилдеринде структураны аныктоо үчүн колдонулат, ал эми Structure ачкыч сөзү. NET программалоо тилдеринде ошол эле үчүн колдонулат.

Класстар менен структуралардын ортосунда кандай айырма бар?

Класстар да, структуралар да программалоо тилдеринде табылган окшош конструкциялар болсо да, алардын анча-мынча айырмачылыктары бар. Эреже катары, класс структуранын кеңейтилиши болуп саналат, ошондуктан структуралар кээ бир салыштырмалуу чектөөлөргө ээ. Мисалы, структураларды C++ тилиндеги класстар менен бирдей кароого болот, бирок мүчөлөр класстарда демейки боюнча ачык эмес (структуралардан айырмаланып). Бул чындыгында сиз C++ тилиндеги тиешелүү мүмкүндүк модфикаторлорун колдонуп, так бирдей мүнөздөмөлөргө ээ классты жана структураны аныктай аласыз дегенди билдирет. Бирок С тилинде структуралар эч кандай функцияларды же ашыкча жүктөлгөн операцияларды камтый албайт. Класс жана структура ачкыч сөздөрү тиешелүүлүгүнө жараша C++ тилинде классты жана структураны аныктоо үчүн колдонулат.. NET тилдерине келгенде (C, VB. NET ж.б.) класс шилтеме түрү, ал эми структура маани түрү. Адатта, структуралар кичинекей объекттер үчүн колдонулат, бирок класстар эстутумда узак убакытка сакталган чоңураак объекттер үчүн колдонулат.

Сунушталууда: