logo

Јава ООП концепти

  1. Објектно оријентисано програмирање
  2. Предност ООП-а у односу на програмски језик оријентисан на процедуре
  3. Разлика између објектно оријентисаног и објектно заснованог програмског језика.

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

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

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

Популарни објектно оријентисани језици су Јава , Ц# , ПХП , Питхон , Ц++ , итд.

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

нп паддинг

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

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

Осим ових концепата, постоје неки други термини који се користе у објектно оријентисаном дизајну:

  • Квачило
  • Кохезија
  • Удружење
  • Агрегација
  • Композиција
Јава ООП концепти

Објекат

Јава Објецт

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

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

Пример: Пас је објекат јер има стања попут боје, имена, расе итд., као и понашања попут махања репом, лајања, једења итд.

Класа

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

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

Наслеђе

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

Полиморфизам у Јави

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

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

У Јави користимо преоптерећење метода и заобилажење метода да бисмо постигли полиморфизам.

Други пример може бити да се нешто говори; на пример, мачка говори мијау, пас лаје вау итд.

Одвајање

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

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

Енкапсулација у Јава ООП концептима

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

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

Јава класа је пример енкапсулације. Јава беан је потпуно инкапсулирана класа јер су сви чланови података овде приватни.

Квачило

Спајање се односи на знање или информације или зависност друге класе. Она настаје када су класе свесне једна друге. Ако класа има детаљне информације друге класе, постоји јака спрега. У Јави користимо приватне, заштићене и јавне модификаторе за приказ нивоа видљивости класе, методе и поља. Можете користити интерфејсе за слабију спрегу јер нема конкретне имплементације.

Кохезија

Кохезија се односи на ниво компоненте која обавља један добро дефинисан задатак. Један добро дефинисан задатак се обавља веома кохезивном методом. Слабо кохезивна метода ће поделити задатак на одвојене делове. Пакет јава.ио је веома кохезиван пакет јер има И/О повезане класе и интерфејс. Међутим, пакет јава.утил је слабо кохезиван пакет јер има неповезане класе и интерфејсе.

јава тостринг метода

Удружење

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

  • Један на један
  • Један према многима
  • Многи до Једног, и
  • Многи многима

Хајде да разумемо однос са примерима у реалном времену. На пример, једна земља може имати једног премијера (један према један), а премијер може имати много министара (један према више). Такође, многи посланици могу имати једног премијера (много према једном), а многи министри могу имати много ресора (много према много).

Повезивање може бити несмерно или двосмерно.

Агрегација

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

Композиција

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


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

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

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

Глобални подаци

Слика: Представљање података у програмирању оријентисаном на процедуре


Подаци о објекту

Слика: Представљање података у објектно оријентисаном програмирању

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


Која је разлика између објектно оријентисаног програмског језика и објектно заснованог програмског језика?

Објектно засновани програмски језик прати све карактеристике ООП-а осим наслеђивања. ЈаваСцрипт и ВБСцрипт су примери објектно заснованих програмских језика.



Да ли знаш?
  • Можемо ли преоптеретити главни метод?
  • Јава конструктор враћа вредност, али шта?
  • Можемо ли креирати програм без главног метода?
  • Којих је шест начина да користите ову кључну реч?
  • Зашто вишеструко наслеђивање није подржано у Јави?
  • Зашто користити агрегацију?
  • Можемо ли заобићи статичку методу?
  • Шта је коваријантни тип повратка?
  • Које су три употребе Јава супер кључне речи?
  • Зашто користити блок иницијализатора инстанце?
  • Каква је употреба празне коначне променљиве?
  • Шта је маркер или означени интерфејс?
  • Шта је полиморфизам времена извршавања или динамичко диспечирање метода?
  • Која је разлика између статичког и динамичког везивања?
  • Како је довнцастинг могуће у Јави?
  • Која је сврха приватног конструктора?
  • Шта је клонирање објеката?
Шта ћемо научити у ООП концептима?
  • Предност ООП-а
  • Именовање конвенција
  • Објекат и класа
  • Преоптерећење метода
  • Цонструцтор
  • статична кључна реч
  • ова кључна реч са шест употреба
  • Наслеђе
  • Агрегација
  • Метход Оверридинг
  • Коваријантни тип поврата
  • супер кључна реч
  • Инстанце Инитиализер блок
  • коначна кључна реч
  • Апстрактна класа
  • Интерфејс
  • Полиморфизам времена извршавања
  • Статичко и динамичко везивање
  • Смањење са инстанцеоф оператором
  • Пакет
  • Модификатори приступа
  • Енкапсулација
  • Клонирање објеката