OOP жана POP ортосундагы айырма

Мазмуну:

OOP жана POP ортосундагы айырма
OOP жана POP ортосундагы айырма

Video: OOP жана POP ортосундагы айырма

Video: OOP жана POP ортосундагы айырма
Video: Публичное собеседование: Junior Java Developer. Пример, как происходит защита проекта после курсов. 2024, Июль
Anonim

Негизги айырма – OOP менен POP

OOP менен POP ортосундагы айырманы талкуулоодон мурун, келгиле, адегенде программалоо процессинин кээ бир негизги түшүнүктөрүн карап көрөлү. Программалоону колдонуу менен ар кандай типтеги маселелерди чечүү жолдорун курууда программалоо процессине көптөгөн ар кандай ыкмалар бар. Бул ыкмалар программалоо парадигмалары деп аталат. Көпчүлүк программалоо тилдери бир парадигмага кирет, бирок бир нече парадигмалардын элементтери бар тилдер болушу мүмкүн. Объектке багытталган программалоо (OOP) жана Процедурага багытталган программалоо (POP) ушундай эки программалоо парадигмасы. Бул эки парадигма негизинен чечимди иштеп чыгууда жараткан абстракцияларга байланыштуу айырмаланат. Программалоо ыкмасындагы абстракция маалыматтын актуалдуулугун колдонуучунун көз карашынан ажыратат. POP менен OPPтин негизги айырмасы - POP процедуралык абстракцияларды түзүп, колдонот, ал эми OOP маалымат абстракцияларына басым жасайт.

OOP деген эмне?

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

OOP мамилеси маалыматтар менен иштөө алгоритмине эмес, негизинен маалыматтарга басым жасайт. Берилиштер да, ошол маалыматтарды иштеткен функциялар да объекттердин ичинде бириктирилгендиктен, тышкы функциялар тарабынан берилиштерге эч кандай өзгөртүүлөрдү киргизүү мүмкүн эмес. Башкача айтканда, объекттин маалыматтарына башка объекттин функциялары аркылуу кирүү мүмкүн эмес. Бул программанын маалыматтарынын коопсуздугун камсыз кылат. Бирок, объекттин функциялары объекттердин бири-бири менен байланышуусуна мүмкүндүк берүүчү башка объекттин функцияларына кире алат. Бир объекттин методдорун башка объекттин методдору менен чакыруу билдирүү өткөрүү деп аталат.

OOP программалоонун төрт негизги өзгөчөлүгү бар; абстракция, инкапсуляция, полиморфизм жана тукум куучулук. Абстракциянын максаты – көйгөйдүн татаалдыгын азайтуу үчүн колдонуучуга тиешелүү маалыматты гана көрсөтүү. Инкапсуляция – бул объекттин ичиндеги маалыматты локалдаштыруу. Бир класстын экинчи класстын касиеттерин жана функцияларын алуу процесси мурас катары белгилүү. Полиморфизм – көп кол тамгасы бар функциянын же өзүн ар кандай жолдор менен аткарган объектинин өзгөчөлүгү.

OOP да жогорку модулдукту колдойт. Жаңы функцияларды же маалыматтарды кошуу толук программаны өзгөртүүнү талап кылбайт. Бул жөн гана жаңы объект түзүү менен жасалышы мүмкүн, анткени объекттер жарыялоого жана аныктоого көз карандысыз. Ошентип, OOP натыйжалуу жана өндүрүмдүүлүгү жогору болот.

Программалоо дизайнын эске алганда, OOP ылдыйдан өйдө карай мамилени карманат. Кээ бир популярдуу OOP тилдери: Java, Python, Perl, VB. NET жана C++.

OOP жана POP ортосундагы айырма
OOP жана POP ортосундагы айырма
OOP жана POP ортосундагы айырма
OOP жана POP ортосундагы айырма

Python - популярдуу OOP тили.

POP деген эмне?

Процедурага багытталган программалоо (POP) көйгөйдү аткарыла турган иштердин ырааттуулугу катары карайт жана процедураларды чакыруу концепциясына негизделген. Программалар процедуралар деп аталган кичинекей бөлүктөргө бөлүнөт - ошондой эле күнүмдүк иштер, подпрограммалар, методдор же функциялар деп аталат. Процедуралар программада эмне кылуу керек экендигинин алгоритмине басым жасайт. Башкача айтканда, процедура аткарыла турган бир катар эсептөө кадамдарын камтыйт. Бул функциялар аракетке багытталгандыктан, реалдуу дүйнө көйгөйлөрүн моделдөөдө POP тилдерин колдонуу кээде кыйынга турушу мүмкүн.

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

POPде кайсы дайындар кайсы функциялар тарабынан колдонуларын аныктоо кыйын болушу мүмкүн, анткени глобалдык маалыматтар негизинен функциялар ортосунда бөлүштүрүлөт. Учурдагы маалыматтарды өзгөртүү керек болгон учурда, ошол маалыматтарга кире турган бардык функциялар да кайра каралышы керек. Бул бүтүндөй программага таасирин тийгизиши мүмкүн жана мүчүлүштүктөр жана каталар пайда болушу мүмкүн.

Программалоо дизайнын эске алганда, POP тилдеринде жогорудан ылдый ыкма колдонулат. POP тилдери аткаруу чөйрөсүнүн абалына ачык шилтеме жасагандыктан, алар императивдик тилдер деп да аталат. Мындай POP тилдеринин мисалдары COBOL, Pascal, FORTRAN жана C Language.

OOP жана POP ортосундагы айырма
OOP жана POP ортосундагы айырма
OOP жана POP ортосундагы айырма
OOP жана POP ортосундагы айырма

C - популярдуу POP тили.

OOP менен POP ортосунда кандай айырма бар?

OOP жана POP аныктамасы

OOP: Объектке багытталган программалоо маалымат абстракцияларына багытталган программалоо парадигмасы.

POP: Процедурага багытталган программалоо – процедуралык абстракцияларга багытталган программалоо парадигмасы.

OOP жана POP өзгөчөлүктөрү

Көйгөйдүн бузулушу

OOP: OOP мамилесинде программалар объект катары белгилүү бөлүктөргө бөлүнөт.

POP: POP ыкмасында программалар функцияларга бөлүнөт.

Фокус

OOP: OOP'дун негизги багыты программага байланыштуу берилиштерге багытталган.

POP: POP'дун негизги багыты маалыматтарды манипуляциялоочу процедураларга жана алгоритмдерге багытталган.

Дизайн ыкмасы

OOP: OOP ылдыйдан өйдө карай ыкманы колдонот.

POP: POP жогорудан ылдый ыкманы колдонот.

Дайындарды колдонуу

OOP: OOPде ар бир объект андагы маалыматтарды көзөмөлдөйт.

POP: POP'та көпчүлүк функциялар глобалдык дайындарды колдонот.

Дайындарга кирүү

OOP: OOPде объекттин маалыматтарына ошол конкреттүү объекттин функциялары аркылуу гана кирүүгө болот.

POP: POPде дайындар функциядан функцияга эркин жыла алат.

Кирүү спецификаторлору

OOP: OOP коомдук, жеке ж.б. сыяктуу кирүү спецификацияларына ээ.

POP: POP эч кандай кирүү спецификаторуна ээ эмес.

Дайындардын коопсуздугу

OOP: OOP берилиштерди жашырууну камсыз кылгандыктан, программага байланышкан дайындар коопсуз.

POP: POP эч кандай маалыматты жашыруу ыкмаларын камсыз кылбайт. Андыктан дайындардын коопсуздугу начар.

Өзгөртүүнүн оңойлугу

OOP: OOP учурдагы программаны өзгөртпөстөн жаңы маалыматтарды жана функцияларды кошуунун оңой жана натыйжалуу жолдорун камсыз кылат.

POP: POP'та, эгер жаңы дайындар же функцияларды кошуу керек болсо, учурдагы программа кайра каралышы керек.

Колдонулган тилдер

OOP: C++, Java, VB. NET, C. NET ж.б. OOP тарабынан колдонулат.

POP: FORTRAN, Паскаль, C, VB, COBOL ж.б. POP тарабынан колдонулат.

Сүрөт урматы: www.python.org тарабынан “Python логотиби жана сөз белгиси” – https://www.python.org/community/logos/.(GPL) Commons аркылуу "С программалоо тили логотиби" Резонансови - Бул файл төмөнкүдөн алынган: C Программалоо тили, Биринчи Басылышы Cover.svg. (Коомдук домен) Commons аркылуу

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