ЭЭМ, Программалоо
PLO - Бул эмне? Объектке багытталган программалоо негизги
Эмне үчүн объектиге багытталган программалоо көпчүлүк долбоорлорго артыкчылык берилет? PLO алардын татаалдыгы менен күрөшүү үчүн натыйжалуу жолун сунуш кылат. Анын ордуна чыгара көрсөтмө бир катарда болуп программасын эске алуу менен, ал кээ бир өзгөчөлүктөрү менен объектилердин топ катары да жана белгилүү бир иш-аракеттери менен аларды өндүрүп билдирет. Бул айкын, көбүрөөк ишенүүгө татыктуу жана legkosoprovozhdaemyh арыздарды алып келет.
негизги объектиге-багытталган програмдоонун (OOP) чектөөлөр мурда түзүлгөн ыкмаларды табылган, анткени түзүлгөн. Алардын арасында - өзгөртүү боюнча чектөөлөрдү киргизсе маалыматтар жана байланыш көп саны чексиз колдонуу. Алардын түшүнүү жана себептери маанилүү OOP программалоо түшүнүүгө жана анын жакшы жактары бар экенин.
жол-жоболук тилдер
C, Pascal, FORTRAN, жана ушул сыяктуу тилдер жол болуп саналат. Башкача айтканда, оператор ар бир нерсе үчүн бирөө болот: маалыматтарды алуу алты бөлүнгөн номерлерди, көрсөтүлгөн натыйжага кошуу үчүн. Тиркеме-жоболук окутуу тизмеси болуп саналат. ал аз болсо, анда эч кандай башка уюштуруу принцип (көбүнчө парадигманын деп аталат) талап кылынбайт. программист көрсөтмө тизмесин түзөт жана ушул ЭЭМ үчүн аларды аткарат.
милдеттерин бөлүү
арыз кезектешип кыйла олдоксон тизме болуп жатканда. Аз, алар топтолот чейин бир нече жүз ашуун көрсөтмө көбүрөөк түшүнө алабыз. Ушул себептен улам, милдети өтүнмө аны түзүүчүлөрдүн көбүрөөк түшүнүктүү болушу үчүн болду. Айрым тилдерде эле түшүнүк сабрутиндер же жол-жоболорго деп атоого болот.
Колдонмого так аныкталган максаты жана макамын бар, алардын ар бири милдеттерин, бөлүнөт.
жол-бөлүштүрүү идеясы модулу деп аталган объектинин белгилүү бир топторго кошулушу толукталышы мүмкүн, ал эми принцип окшош: документтин тизмесин алып компоненттеринин топтоо.
милдеттерин жана модулдарды бөлүү - PLO бул парадигманы туудурат чейин бир нече ондогон жылдар бою структуралаштырылган программалардын бурчу таштардын бири.
структуралык программалоо көйгөйлөр
арыздар көп болуп, структуралык программалоо кыйынчылыктарга дуушар баштады. Долбоорлор өтө татаал болуп калат. сүрөттөрү өттү. Бул программалык камсыздоо боюнча көп сандаган билдирет. татаалдыгы өстү. чейин ок чыгымдар тартиби ары өттү, ал эми кыйрашы чыкты.
бузулуулардын себептерин талдоо жол-жоболук парадигмасы кемчиликтерди ачып берген. Карабастан, ошондой эле жүзөгө ашырылып программалоо мамиле структурасы кандай, көп арыздар өтө татаал болуп калат.
жол-жоболук тилге байланыштуу бул маселелердин кандай себептери бар? Биринчиден, иш-милдеттери, дүйнөлүк маалыматтарга чексиз мүмкүнчүлүгүнө ээ болушу керек. Экинчиден, байланышпаган жол-жоболор жана жаман баалуулуктар реалдуу дүйнөнү пайда.
Биз жолу бухгалтердик программалык контекстинде бул маселелерди карап, анда дүйнөлүк маалыматтардын маанилүү элементтеринин бири SKUs жыйындысы болуп саналат. Ар кандай иш-милдеттери бир жаңы наркын кирүүгө алар менен кайрылышы мүмкүн, ал көрсөтүлгөн өзгөртүүлөр жана ошондой болот. Д.
чексиз мүмкүндүк алуу
Мисалы, С, маалыматтардын эки түрү бар программа жазылган. Жергиликтүү өз алдынча иш алкагында жашыруун жана башка жол-жоболору колдонулган эмес.
Эки же андан көп милдеттерди бир маалыматтарга ээ болуу мүмкүнчүлүгү болгондо, экинчи дүйнөлүк болушу керек. Бул, мисалы, субъекттер жөнүндө маалыматтарды эске алынат. глобалдык маалыматтар ар кандай жеткиликтүү жол-жобосу болушу мүмкүн.
ири программа, көптөгөн өзгөчөлүктөрү жана көптөгөн дүйнөлүк элементтер бар. жол-жоболук парадигманын көйгөй алардын ортосундагы мүмкүн болгон байланышы бир кыйла сандагы алып келет деп.
Мындай байланыштарды көп саны бир нече кыйынчылыктарды жаратууда. Биринчиден, бул программанын түзүлүшү түшүнүүнү кыйындатат. Экинчиден, кыйын өзгөртүү үчүн. глобалдык маалыматтар пунктунда өзгөртүү ага жете алгандай бардык милдеттерин жөнгө талап кылышы мүмкүн.
Мисалы, кимдир бирөөнү эсепке алуу программасы эсепке обжект коду 5 орундуу жок турат деп тапса, ал эми 12 Бул өзгөртүү талап кылам маалымат түрүн кыска узак болот. Азыр милдети коду жаңы үлгүдөгү менен иштөө үчүн өзгөртүү керек менен байланышкан.
элементтер көбүрөөк колдонуу менен өзгөрүп турат, бул жол-жоболор, алардын мүмкүнчүлүгү кандай айтуу кыйын. Бирок, бул сүрөттө болсо, анда аларды башка дүйнөлүк маалыматтар менен туура эмес иш алып келиши мүмкүн өзгөрүп. Бүт баары менен байланышкан, ошондуктан, бир жерде, бир өзгөрүү башка ойлогондон башкача натыйжага алып келет.
реалдуу дүйнөнү моделдөө
жол-жоболук парадигманын экинчи жана маанилүү маселе, анын жайгашкан жерине жараша маалымат жана иш начар реалдуу дүйнөдөгү нерселерди окшоштуруу болуп саналат. Бул жерде биз, мисалы, адамдарды же унааларды эле объекттер менен иштейбиз. Алар эч кандай маалымат же милдети болуп саналат. Татаал реалдуу дүйнө объектилери сапаттарын жана жүрүм-турумун бар.
касиеттери
адамдар үчүн касиеттер мисалдар (кээде касиеттери деп аталат), көздүн түсү жана почта аты бар, бир машине үчүн - электр жана эшик саны. Кийин билсем, ал программада маалыматтарына барабар реалдуу дүйнөнүн касиеттери. Алар көк (көздөрүнүн түсүн) же төрт (эшик саны) сыяктуу белгилүү бир баалуулуктар бар.
жүрүш-туруш
Жүрүм-турум - реалдуу дүйнө объектилери таасири кандайдыр бир жооп өндүрүлгөн жатабыз. Эгер айлык акыларын жогорулатуу үчүн иштөөгө сураган болсо, жооп "ооба" же "жок". Сиз талкалап аткара турган болсо, машине жүрбөй калат. Ошондо дейт жүрүм-токтотууга мисалдар келтирилди. тартиби сыяктуу жүрүм-туруму, ал бир нерсе кылышым керек деп аталат, жана ошондой кылат. Ошентип, өз алдынча маалымат жана милдеттери реалдуу дүйнө натыйжалуу каршы моделин пайда кылышпайт.
Көйгөйдүн чечилиши
OOP объекттик маалыматтарды жана милдеттердин жыйындысы катары сүрөттөлгөн. C ++ мүчө милдеттерин аталган жол-жоболору гана, анын наркын алууга мүмкүндүк берет. Бул жашыруун жана өзгөрүүлөрдөн коргоого алынат. Мааниси жана иш-милдеттери бир чындыктын айланасында болгон. Encapsulation жана upryatyvanie - объектиге-багытталган тилде сүрөттөп негизги түшүнүктөр.
Маалыматтарды өзгөрткүбүз келсе, анда ал иш-милдеттери, алар менен өз ара кандай шарт түзөрүн жакшы билет. Мындан башка жол-жоболор, аларды кире албайт. Бул жазууну, мүчүлүштүктөрдү жана программасын сактоо анык.
Өтүнмө адатта мүчөсү милдеттерин алып, бири-бири менен өз ара бир нече объектилерди турат.
Бүгүн, абдан көп колдонулган тилди OOP (объектиге багытталган программалоо) - C ++ (плюс плюс). Java-жылы, мисалы, C ++ караганда анча күчтүү жана ар түрдүүчө кылат көрсөткүчтөн, шаблонла жана бир нече мурас, ошондой эле кээ бир параметрлерин жок. C # ге C ++ популярдуулугун жете элек.
Бул C ++, мисалы, Smalltalk эле айрым башка объектиге-багытталган тилде ыкмаларын аталган уюмга мүчө-милдеттерин деп аталган баса белгилей кетүү керек. маалымат даана аталган сапаттар кирет. объектинин бир ыкмасын чакырып ага билдирүүлөрдү жөнөтүп жатат.
салыштыруу
Сиз компаниянын бөлүмдөрүнүн объектилерин элестете алабыз. көпчүлүк уюмдарда, кызматкерлери кызматкерлери менен бир күн иштеген эмес, төмөнкү ашыгы менен эмгек, жана чекене соода менен алектенген бир жума. Ар бир бөлүм так жүктөлгөн милдеттерин аткаруу менен өзүнүн кызматкерлерин, бар. эмгек акы, сатуу, бухгалтердик кызматкерлери ж.б. бөлүмдөрдүн адамдарды маалымат менен иштөө көрсөткүчтөрү ...: өз маалыматтар бар Коомдун бөлүнүшү, ошондуктан, анын ишине контролдукту өбөлгө түзөт жана маалыматтарды актыгын сактагандарды. Бухгалтердик эсепке алуу үчүн жооптуу болуп саналат акы. Сен-июлда түштүк бөлүмүнө төлөнгөн эмгек акынын жалпы суммасын билип келсе, ар- казып кереги жок. Бул жоопкер адамга нота жиберип, ал адам маалыматтар мүмкүнчүлүгү бар жана суралган маалыматты жооп жиберет күтүп үчүн жетиштүү болуп саналат. Бул ченемдик укуктук актылары менен белгиленген сактоо жана тышкы кийлигишүү жоктугун камсыз кылат. Ошол сыяктуу эле ПБУ- объект уюм арыз берет.
Бул объектилерди багыт иш программасы боюнча толук маалымат тиешелүү эмес экенин унутпаш керек. Көпчүлүк көрсөтмө операторлордун ++ C, мисалы, С катары жол-жоболоштурулган тилдерде чындыгында туура келет, С-жылы иш менен өтө окшош ++ С мүчө кызматтары гана гизген нускама жол-жоболук же багытталган каршы же түзүүгө мүмкүндүк берет.
OOP предметин аныктоо
ордуна, айрым иш-милдеттерин анын бөлүү тууралуу суроолор объектиге-багытталган тилинде программаларды маселесин кароодо бөлүү мекемелеринде бир көйгөй болуп саналат. OOP ой колдонмолорду иштеп чыгуу көп убайым. Бул программалык камсыздоо жана кыймылсыз объекттерди окшоштуктары менен шартталган.
OOP объекттер дүйнө кандай болот? Бул жерде бир канча категориялар бар.
OOP дене объект - бул:
- транспорт агымы моделдер;
- эсептөө программаларын электрдик компоненттери;
- Өлкөнүн экономикасы модели;
- аба кыймылын башкаруу системасында учак.
колдонуучунун компьютер чөйрөнүн элементтери:
- меню;
- терезелер;
- сүрөттөр (сызык, тик бурчтук, айлана);
- клавиатура, чычкан, принтер, диск сапырган.
эл:
- жумушчулар;
- студенттер;
- кардарлар;
- сатуучулар.
маалымат:
- бухгалтердик эсеп;
- ар бир адамдын жеке иши;
- сөздүк
- перпендикулярдуу жана калктуу конуштардын узактыгы жадыбалы.
чыныгы дүйнөнүн байланыш объекттерин жана PLO милдеттерин жана маалыматтар алар программаны тамырынан өзгөрттү айкалышынан пайда болгон. ошол жол-жоболук тилде Мындай жакын матч.
тап
класстык мүчөсү - PLO объектилер. Бул эмнени билдирет? Программалоо тилдери-жылы курган маалымат түрлөрү. Түрү Int, т E. C-жылы белгилүү бир бүтүн ++.. Сиз Int өзгөрмөлөр бир катар жарыялай аласыз.
Ошо сыяктуу эле, бир класс аныкталган объекттеринин кызыгат. Бул иш-милдеттери жана анын мекемелеринде камтылган маалыматтарды, аларды түзүү эмес, ошондой эле ички өзгөрмө түзүү эмес, деп аныктайт.
МТТ жылы Класс - окшош объекттердин бир катар баяндоо. Принс, Стинг жана Мадонна ырчы болуп саналат. деген аты менен эч ким жок, бирок алар тийиштүү өзгөчөлүктөрү бар болсо, ушундай деп айтууга болот. OOP объект - ушул учур.
тукум куучулук
жашоодо, класстар классчалардын бөлүнөт. Мисалы, мал-сууда жашоочулардын, сүт эмүүчүлөр, куштар, курт-бөлүнүп, ошондой болот. D.
бөлүнүү ушул сыяктуу принцип ар бир колдо менен класс жалпы өзгөчөлүктөргө ээ болот. Бардык унаалар зорго жана кыймылдаткыч бар. Бул унаалардын аныктоочу мүнөздөмөлөрү болуп саналат. Ар бир колдо жалпы мүнөздөмөсү тышкары өзүнө мүнөздүү өзгөчөлүктөргө ээ. көп автобус орун жана транспорт бар оор жүктөрдү көтөрүп орун бар.
Ошо сыяктуу эле, бир база класс, алар кошумча өзүнүн өзгөчөлүктөрү менен бөлүшүү үчүн аныкталышы мүмкүн колдо ата-эне, бир нече туунду болушу мүмкүн. жол-жоболук программасын жөнөкөйлөтүү милдеттерин сыяктуу мурас. кодексинин бир нече бөлүктөрү абдан көп эле кылып жаткан болсо, анда жалпы элементтерди алуу жана тартиби, аларды мүмкүн. Үч өтүнмө аянты жалпы иш-чараларды аткаруу милдетин чакырып мүмкүн, бирок, алар өндүргөн жана анын өз иштери болот. Ошо сыяктуу эле, базалык тобу өндүрүлгөн тобунун жалпы маалыматты камтыйт. Ушундай эле милдетти объектиге-багытталган программанын мурасын азайтып, анын элементтери мамилесин тактайт.
кайра иштетүү
класс жараткан жана түшө кийин, ал өз өтүнмөлөргө кайра башка Программист өткөрүлүп берилиши мүмкүн. Бул ар кандай өтүнмөлөргө киргизилбеген мүмкүн милдеттерин китепкана сыяктуу.
Жылы OOP, мурас бир нече пайдалануу идеясынын уландысы болуп саналат. Учурдагы класстан тартып, аны өзгөртүүгө болбойт, биз башка иш-милдеттерди жүзөгө ашыруунун кошумча менен жаңы бир пайда болот. жаткан программалык кайра пайдалануу каттого - PLO маанилүү артыкчылыгы. Бул алгачкы салымдардын өсүп рентабелдүүлүгүн камсыз кылат деп айтылып жүрөт.
жаңы маалымат түрлөрүн түзүү
жаңы маалымат түрлөрүн түзүү үчүн ылайыктуу жайлары. программа эки өлчөмдүү баалуулуктарын колдонот дейли (мисалы, координаты же Узунун жана туурасын), жана алар боюнча кошууну менен иш-каалоо бар:
position1 = орду + келип,
кайда position1, абалы менен чыгышы - көз карандысыз сандык маанилеринин бир жуп. Бул эки баалуулуктарды камтыган классты түзүү, жана анын объекттери өзгөрмө жарыялап, бир жаңы маалымат түрүн түзөт.
Polymorphism, перегрузки
Байланыш операторлоруна = (барабар), ошондой эле + (плюс) кошууну колдонулган турумдук жогору Кыштын, ошондой эле камтылган түрлөрү боюнча иш кылышкан эмес. Кызматы объектилер жана башкалар. Алдын ала жана программалык тарабынан белгиленген эмес. Бул операторлор, аларды кантип билебиз? Жооп жаңы жүрүм-туруму үчүн белгилениши мүмкүн экендигинде турат. Бул иш-мүчө-милдеттери Class орду болот.
Объеке деген эмне экенин, алар иштеп жатышат жараша операторлорду же жол-жоболорду колдонуу менен. оператору бар болгондо, + же = катары, жаңы маалыматтар түрү менен иштөө үчүн мүмкүнчүлүк алат, ал ашыкча деп айтылат. МТТ жылы Overload - Polymorphism бир түрү. Бул маанилүү өзгөчөлүк болуп саналат.
PLO "Түшүнбөгөндөргө Object-багытталган программалоо" боюнча бир китепте ар бир адам мурдагыдан да майда-чүйдөсүнө чейин бул маселе менен таанышууга мүмкүндүк берет.
Similar articles
Trending Now