logo

Ц++ ООП концепти

Главна сврха Ц++ програмирања је увођење концепта објектне оријентације у програмски језик Ц.

Објектно оријентисано програмирање је парадигма која пружа многе концепте као нпр наслеђивање, везивање података, полиморфизам итд.

Програмска парадигма у којој је све представљено као објекат позната је као истински објектно оријентисани програмски језик. Ћаскање сматра се првим истински објектно оријентисаним програмским језиком.


ООП (објектно оријентисани систем програмирања)

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

слице јава
Цпп Упс концепт 1
  • Објекат
  • Класа
  • Наслеђе
  • Полиморфизам
  • Одвајање
  • Енкапсулација

Објекат

Сваки ентитет који има стање и понашање је познат као објекат. На пример: столица, оловка, сто, тастатура, бицикл итд. Може бити физичко и логично.

Класа

Збирка предмета назива се класа. То је логичан ентитет.

Класа у Ц++ је основни елемент који води објектно оријентисаном програмирању. Инстанца класе мора бити креирана да би се приступило и користило чланове података и функције чланова кориснички дефинисаног типа података. Класа објекта делује као његов план. Узмимо класу аутомобила као пример. Чак и ако се различита имена и марке могу користити за различите аутомобиле, сви ће имати неке заједничке карактеристике, као што су четири точка, ограничење брзине, домет миља, итд. У овом случају, класа аутомобила је представљена као точкови, ограничења брзине и километража.

Наслеђе

Када један објекат стекне сва својства и понашања родитељског објекта односно познато као наслеђе. Омогућава поновну употребу кода. Користи се за постизање полиморфизма у времену извођења.

  1. Подкласа - Подкласа или Изведена класа се односи на класу која прима својства од друге класе.
  2. Супер класа – Термин 'Базна класа' или 'Супер класа' се односи на класу од које поткласа наслеђује своја својства.
  3. Поновна употреба – Као резултат тога, када желимо да креирамо нову класу, али постојећа класа већ садржи део кода који нам је потребан, можемо да генеришемо нашу нову класу из старе класе захваљујући наслеђивању. Ово нам омогућава да користимо поља и методе већ постојеће класе.

Полиморфизам

Када један задатак се обавља на различите начине тј. познат као полиморфизам. На пример: убедити купца другачије, нацртати нешто нпр. облик или правоугаоник итд.

Различите ситуације могу узроковати да се операција другачије понаша. Тип података који се користи у операцији одређује понашање.

Одвајање

Сакривање унутрашњих детаља и приказивање функционалности позната је као апстракција. Апстракција података је процес излагања спољашњем свету само оних информација које су апсолутно неопходне док се прикривају имплементације или позадинске информације. На пример: телефонски позив, не знамо интерну обраду.

У Ц++-у користимо апстрактну класу и интерфејс за постизање апстракције.

Енкапсулација

Повезивање (или умотавање) кода и података заједно у једну јединицу је познато као енкапсулација. На пример: капсула, умотана је у различите лекове.

почиње са јава

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

Динамичко повезивање - У динамичком повезивању, одлука се доноси у току извршавања у вези са кодом који ће бити покренут као одговор на позив функције. За ово, Ц++ подржава виртуелне функције.

Предност ООП-а у односу на програмски језик оријентисан на процедуре

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

Зашто нам треба упс у Ц++?

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

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

Зашто је Ц++ делимичан ооп?

Објектно оријентисане карактеристике језика Ц биле су примарна мотивација за конструкцију језика Ц++.

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

1) Главна функција мора увек бити изван класе у Ц++ и обавезна је. То значи да можемо без класа и објеката и да имамо једну главну функцију у апликацији.

У овом случају се изражава као објекат, што је први пут да је Пуре ООП прекршен.

јава лоцалдатетиме

2) Глобалне променљиве су карактеристика програмског језика Ц++ којој може приступити било који други објекат унутар програма и дефинисане су ван њега. Енкапсулација је овде прекинута. Иако Ц++ подстиче енкапсулацију за класе и објекте, игнорише је за глобалне варијабле.

Преоптерећење

Полиморфизам такође има подскуп познат као преоптерећење. За постојећи оператор или функцију се каже да је преоптерећена када је принуђена да ради на новом типу података.

Закључак

Стећи ћете разумевање потребе за објектно оријентисаним програмирањем, шта су Ц++ ООП-ови и основе ООП-а, као што су полиморфизам, наслеђивање, енкапсулација, итд., након читања овог курса о ООПС концептима у Ц++. Поред примера полиморфизма и наслеђивања, научили сте и о предностима Ц++ ООП-а.