Համակարգիչներ, Ծրագրավորում
ՊԱԿ - ինչ է սա: Հիմնական սկզբունքները object-oriented programming
Թե ինչու object-oriented ծրագրավորման նախընտրելի է նախագծերի. ՊԱԿ առաջարկում է արդյունավետ միջոց է զբաղվել իրենց բարդության. Փոխարեն, հաշվի առնելով մի ծրագիր, որպես հաջորդականությունը գործարկվող հրահանգներ, դա ներկայացնում է որպես խմբի օբյեկտների հետ որոշակի հատկություններով, եւ արտադրել դրանք որոշակի գործողությունների: Սա հանգեցնում է մի պարզ, ավելի հուսալի եւ legkosoprovozhdaemyh դիմումները.
Հիմնական սկզբունքները object-oriented programming (OOP) ձեւավորվում է, քանի որ սահմանափակումներ են գտել նախընտրական գոյություն ունեցող մոտեցումների: Դրանց թվում անսահմանափակ մուտք դեպի տվյալների եւ մեծ թվով հղումներ, որը պարտադրում սահմանափակումներ է փոփոխության: Նրանց իրազեկման եւ պատճառները կարեւոր է հասկանալ, թե ինչ OOP ծրագրավորման եւ ինչ են դրա առավելությունները:
ընթացակարգային լեզուներ
C, Պասկալ, Fortran, եւ նմանատիպ լեզուներն են ընթացակարգային. Այսինքն, յուրաքանչյուր օպերատորի պատմում է համակարգիչը անել ինչ - որ բան է `ստանալ տվյալների, ավելացնել մինչեւ համարները, բաժանել վեց, այդ արդյունքը ցուցադրվում: Հավելված դատավարական լեզուն է հրահանգ ցանկը: Եթե այն փոքր է, ոչ մի այլ կազմակերպման սկզբունքը (հաճախ կոչվում է որպես պարադիգմը) չի պահանջվում: Ծրագրավորող ստեղծում ցուցակը հրահանգների, եւ համակարգչային իրականացնում նրանց.
Գործառույթների տարանջատման
Երբ դիմումները դառնալ ավելի ծանր ցանկ հերթափոխով: Քչերն են կարող հասկանալ, թե ավելի քան մի քանի հարյուր ցուցումների, մինչեւ դրանք խմբավորվում. Այս պատճառով է, որ ֆունկցիան էր ճանապարհ դարձնել դիմումը ավելի հասկանալի իր ստեղծողների. Որոշ լեզուներում, այդ նույն հայեցակարգը կարող է անվանել subroutines կամ ընթացակարգերը:
Ծրագիրը բաժանված է գործառույթների, որոնցից յուրաքանչյուրը ունի հստակ սահմանված նպատակ եւ ինտերֆեյս.
Գաղափարը բաժանման ընթացակարգերի կարող է ընդլայնվել մեջ ավելի մեծ խմբավորման օբյեկտի կոչվում է մոդուլ, բայց սկզբունքը անալոգն: խմբավորումն բաղադրիչներից, որոնք իրականացնում ցուցակները փաստաթղթի.
Գործառույթների տարանջատման եւ մոդուլների մեկը անկյունաքարերից կառուցվածքային ծրագրավորման, որը մի քանի տասնամյակ շարունակ, մինչեւ որ ՊԱԿ էր այն իրենից պարադիգմը:
կառուցվածքային ծրագրավորման խնդիրներ
Քանի որ դիմումների դառնում է ավելի մեծ, համակարգված ծրագրավորում սկսում է զգալ դժվարությունները. Նախագծեր դառնալ շատ բարդ է. տեղափոխվել գրաֆիկայի. Այն ներառում է մի մեծ թվով ծրագրավորողների: Բարդությունը աճել: Ծախսերը նկարահանման է, որ ժամանակացույցը տեղափոխվել ավելի, եւ ահա փլուզումը:
Վերլուծություն պատճառներից անհաջողությունների բացահայտվել թերությունները դատավարական պարադիգմը: Անկախ նրանից, թե որքան լավ է կառուցված իրականացվում ծրագրավորման մոտեցում, խոշոր դիմումները դառնալ չափազանց բարդ.
Որոնք են պատճառները այդ խնդիրների հետ կապված դատավարական լեզուներով. Առաջին, գործառույթները ունեք անսահմանափակ մուտք դեպի համաշխարհային տվյալների: Երկրորդ, իրար հետ կապ չունեցող ընթացակարգերի եւ վատ արժեքները կեղծել իրական աշխարհը:
Եթե հաշվի առնենք, այդ հարցերը համատեքստում գույքագրման հաշվապահական ծրագրերի, մեկը կարեւորագույն տարրերից է համաշխարհային տվյալների մի շարք SKUS: Տարբեր գործառույթները կարող է վերաբերել նրանց մտնել նոր արժեք, այն ցուցադրվում, փոփոխություններ եւ այլն. Դ
անսահմանափակ մուտք
Որ ծրագիրը գրված, օրինակ, C, կան երկու տեսակի տվյալների. Տեղական թաքնված ներսում ֆունկցիայի եւ այլ ընթացակարգերը չեն օգտագործվում:
Երբ երկու կամ ավելի գործառույթներն ունեն օգտվել նույն տվյալների, վերջինս պետք է լինի գլոբալ. Այդպիսի, օրինակ, հաշվի են առնվում մասին տեղեկությունների առարկաներից. Գլոբալ տվյալները կարող են լինել ցանկացած առկա ընթացակարգ:
Մի մեծ ծրագրի, կան բազմաթիվ առանձնահատկություններ, եւ շատ գլոբալ տարրեր: Խնդիրն է դատավարական պարադիգմը այն է, որ տանում է դեպի ավելի մեծ թվով պոտենցիալ հղումներ նրանց միջեւ:
Նման մի մեծ թվով միացումների առաջացնում է մի շարք դժվարություններ: Նախ, դա բարդացնում է պատկերացում կառուցվածքի ծրագրի: Երկրորդ, դժվար է փոխել: Փոփոխություն է համաշխարհային տվյալների կետի, կարող է պահանջել ճշգրտումներ բոլոր ֆունկցիաներով, որոնք ունեն մուտք դեպի այն:
Օրինակ, որ ծրագիրը հաշվառելիս մեկին որոշում է, որ բացատրվում օբյեկտը կոդը պետք է բաղկացած ոչ թե 5 թվերի, եւ 12 Սա կպահանջի որոշակի փոփոխություն տվյալների տեսակը -ից կարճ է երկար: Այժմ կապված այդ գործառույթը կոդը պետք է փոփոխվել է աշխատել նոր ձեւաչափով:
Երբ տարրերը փոխվել է ավելի մեծ դիմումը, դժվար է ասել, թե ինչ ընթացակարգեր մուտք ունենալ դեպի նրանց: Բայց նույնիսկ եթե այդ գործչի, փոխելով նրանց կարող է հանգեցնել ոչ ճիշտ շահագործման հետ, այլ համաշխարհային տվյալների: Ամեն ինչ կապված է նրա հետ ամեն ինչ, այնպես որ, մի փոփոխություն, մեկ վայրում է հակընդդեմ հրդեհ է մյուսը:
Մոդելավորում իրական աշխարհը
Իսկ երկրորդ եւ ավելի կարեւոր խնդիր է դատավարական պարադիգմը է, որ նրա գտնվելու վայրը հատուկ տվյալների եւ գործառույթները վատ simulates բաներ է իրական աշխարհում. Այստեղ մենք գործ ունենք օբյեկտների, ինչպիսիք են մարդկանց կամ մեքենաների. Նրանք նման են ոչ տվյալները կամ գործառույթը: Համալիր իրական աշխարհի օբյեկտներն ունեն հատկանիշներ ու վարքը:
ատրիբուտները
Օրինակներ ատրիբուտներով (երբեմն կոչվում հատկություն) համար մարդիկ են աչքի գույն եւ անունը պաշտոնում, մի մեքենայի, - զօրութիւնն եւ մի շարք դռներ: Քանի որ պարզվեց, որ հատկանիշները իրական աշխարհի համարժեք է տվյալների ծրագրում. Նրանք ունեն կոնկրետ արժեքներ, ինչպիսիք են, կապույտ (գույնի աչքերով) կամ չորս (համարը դռների):
վարքագիծ
Վարքագիծ այն է, որ իրական աշխարհի օբյեկտների արտադրվում են ի պատասխան որոշ տեսակի ազդեցության. Եթե դուք խնդրեք պետին աշխատավարձի բարձրացման, պատասխանն է, «այո» կամ «ոչ»: Եթե դուք սեղմեք վրա արգելակ, մեքենան կդադարի: Եւ կանգնեցնում ասում վարքագծերը օրինակներ են: Վարքագիծ նման կարգով: Այն կոչված է անել ինչ - որ բան, եւ դա անում է այնքան. Այսպիսով, տվյալները եւ գործառույթները, ըստ իրենց չեն մակնիշի իրական աշխարհի օբյեկտների արդյունավետ:
Դիմելով
Օբյեկտ է OOP, որը ներկայացված մի շարք տվյալների եւ գործառույթների. Միայն այն ընթացակարգերը, որոնք կոչվում են անդամ գործառույթները C ++, թույլ են տալիս ձեռք բերել իր արժեքը: Սրանք են թաքնված եւ պաշտպանված են փոփոխությունների: Իմաստներ եւ գործառույթները, որոնք ամփոփված մեջ մեկ. Encapsulation եւ upryatyvanie - հիմնական պայմանները նկարագրության օբյեկտ-կողմնորոշված լեզուներով.
Եթե դուք ուզում եք փոխել տվյալները, դա գիտի, թե ինչ գործառույթներ համագործակցել նրանց հետ: Ոչ մի այլ ընթացակարգեր չեն կարող մուտք գործել նրանց. Սա հեշտացնում գրավոր, կարգաբերում եւ պահպանման ծրագիրը:
Հայտը սովորաբար կազմված է մի քանի օբյեկտների, որոնք փոխազդում են միմյանց հետ, պատճառելով անդամ ֆունկցիաները.
Այսօր, առավել լայնորեն օգտագործվում լեզու OOP (object-oriented ծրագրավորում) - C ++ (գումարած գումարած): Է Java բացակայում են որոշ առանձնահատկություններ, ինչպիսիք են ցուցիչների, կաղապարներ եւ բազմակի ժառանգութեան, որը կազմում է պակաս հզոր եւ բազմակողմանի, քան C ++: C # դեռ չի հասել ժողովրդականությունը C ++:
Հարկ է նշել, որ, այսպես կոչված անդամ գործառույթները C ++ կոչվում մեթոդների որոշ այլ օբյեկտ-կողմնորոշված լեզուներով, ինչպիսիք են Smalltalk: Տվյալների իրեր են կոչվում են հատկանիշները: Զանգահարելով մեթոդը օբյեկտի ուղարկելով նրան հաղորդագրությունները.
նմանություն
Դուք կարող եք պատկերացնել, թե ընկերության նպատակները գերատեսչությունների: Մեծ մասում կազմակերպություններում, աշխատակիցները չեն աշխատում մի օր աշխատակազմի, հետեւյալ overcharging աշխատավարձի, եւ ապա մեկ շաբաթ զբաղվում է մանրածախ առեւտրով: Յուրաքանչյուր բաժին ունի իր սեփական աշխատակիցներին, ինչպես նաեւ հստակ պարտականությունները: Կան սեփական տվյալների: ցուցանիշները աշխատավարձերի, վաճառքի, անձնակազմի հաշվապահական եւ այլն Մարդիկ վարչությունների հետ աշխատելու իրենց տեղեկությունների ... Բաժանումը ընկերության, հետեւաբար, նպաստում է վերահսկողությունը իր գործողությունների եւ պահպանում տվյալների ամբողջականությունը: Հաշվապահական հաշվառման համար պատասխանատու է Աշխատավարձային. Եթե դուք ուզում եք իմանալ, թե ընդհանուր գումարը աշխատավարձի վճարված հարավային մասնաճյուղի հուլիսի, պետք չէ խորանալու են արխիվում: Դա բավական է ուղարկել մի գրություն է պատասխանատու անձին, սպասեք, մինչեւ որ մարդը ունի մուտք դեպի տվյալների եւ ուղարկում պատասխան պահանջվող տեղեկությունը: Սա ապահովում է համապատասխանությունը կանոնակարգերի եւ բացակայությունը արտաքին միջամտության: Է նույն կերպ օբյեկտ է PLO ապահովում կազմակերպության դիմումը:
Այն պետք է հիշել, որ կողմնորոշումը օբյեկտների վրա չի տարածվում մանրամասներին աշխատանքային ծրագրի: Շատ հրահանգները C ++ օպերատորների համապատասխանում է ընթացակարգային լեզուներով, ինչպիսիք են C- ի, ըստ էության, որի անդամ գործառույթները C ++ որոնք շատ նման են գործառույթների C- ի Միայն ավելի լայն համատեքստը թույլ կտա հաստատել, թե արդյոք հանձնարարականը ընթացակարգային կամ object-oriented.
Օբյեկտ է OOP: Definition
Երբ հաշվի առնելով խնդիրը ծրագրավորման object-oriented լեզու փոխարեն հարցեր բաժանումը առանձին գործառույթների մի խնդիր է բաժանարար օբյեկտների. OOP մտածողությունը շատ ավելի հեշտ է զարգացնել դիմումները. Դա պայմանավորված է նմանության ծրագրային ապահովման եւ իրական օբյեկտների.
Ինչ բաներ են օբյեկտների OOP. Այստեղ կան մի քանի բնորոշ կատեգորիաներ:
Ֆիզիկական օբյեկտ OOP - է:
- տրանսպորտային հոսքի մոդելները.
- Էլեկտրական բաղադրիչներ են circuit design ծրագրերի;
- երկրի տնտեսությունը մոդելը.
- օդանավերի օդային երթեւեկության վերահսկման համակարգի.
Տարրերը շրջակա միջավայրի օգտվողի համակարգչից:
- մենյու;
- պատուհանները,
- գրաֆիկայի (գիծ, ուղղանկյունի, circle),
- ստեղնաշար, մուկ, տպիչ, սկավառակի կրիչներ.
մարդիկ:
- աշխատողները;
- ուսանողները;
- հաճախորդները;
- վաճառողները:
տեղեկություններ:
- Հյուրատետր պահելը;
- մասնավոր հարց.
- բառարան.
- աղյուսակ լայնություններում եւ երկայնական բնակավայրերի:
Զրույց իրական աշխարհի օբյեկտների եւ ՊԱԿ արդյունք էր մի համադրություն գործառույթների եւ տվյալների իրենք հեղափոխել է ծրագրավորման. Նման սերտ համընկնում է ընթացակարգային լեզուներով այնտեղ:
դաս
Օբյեկտների PLO մի դասի անդամ: Ինչ է դա նշանակում? Ծրագրավորման լեզու ներկառուցված տվյալների տեսակների. Տիպը int, ք. E. An ամբողջ թիվ, որը կանխորոշված է C ++. Դուք կարող եք հայտարարել ցանկացած քանակությամբ int փոփոխականների.
Նմանապես, բազմազանության օբյեկտների սահմանված է մեկ դասի. Այն սահմանում գործառույթները եւ տվյալները ներառված է իր օբյեկտների, եւ ոչ թե ստեղծել դրանք, ինչպես նաեւ int չի ստեղծում փոփոխականներ:
Դաս է PLO մի նկարագրություն մի շարք նմանատիպ օբյեկտների. Իշխանը, Սթինգը եւ Մադոննան են երգիչներ: Չկա մեկը, այդ անունով, բայց մարդիկ այդպես կարելի է անվանել, եթե նրանք ունեն համապատասխան բնութագրեր: OOP օբյեկտ - այս ատյանի.
ժառանգություն
Կյանքում, դասեր բաժանվում են ենթադասերի: Օրինակ, կենդանիների բաժանվում են երկկենցաղների, կաթնասունների, թռչունների, միջատների եւ այլն: D.
Սկզբունքը այս տեսակի բաժանման է, որ յուրաքանչյուր ենթադաս ունի ընդհանուր առանձնահատկություններ դասի, որից. Բոլոր մեքենաները անիվները եւ ավտոմեքենան: Սա սահմանող բնութագրերը տրանսպորտային միջոցների. Ի լրումն ընդհանուր բնութագրերի յուրաքանչյուր ենթադաս ունի իր առանձնահատկությունները: Կան բազմաթիվ ավտոբուսային ջեռ եւ բեռնատարներ ունեն տարածք տեղափոխել ծանր բեռներ:
Նմանապես, մի կլասը կարող է լինել մի ենթադաս ծնող քանի ածանցյալներն, որոնք կարող են սահմանված է այնպես, որ նրանք կարող են կիսվել իր առանձնահատկությունները, ինչպես նաեւ բացի. Ժառանգութիւնը նման գործառույթներ, պարզեցնելով դատավարական ծրագիր: Եթե մի քանի հատվածներ օրենսգրքի անում են բավականին շատ են նույն, Դուք կարող եք հանել ընդհանուր տարրեր եւ դրեց նրանց մի ընթացակարգով: Երեք դիմումը տարածքը կարող է զանգահարել գործառույթը կատարել միասնական գործողությունների, բայց նրանք կարող են արտադրել եւ իր իսկ գործողությունները: Նմանապես, կլասը պարունակում տեղեկատվությունը տարածված է խմբի ածանցյալների. Համանման ֆունկցիան նվազեցնում է ժառանգություն object-oriented ծրագրի եւ հստակեցնել հարաբերությունների տարրերի.
վերամշակման
Մեկ անգամ դասը ստեղծվել է եւ կարգավորված է, այն կարող է փոխանցվել այլ ծրագրավորողների է Reuse ձեր սեփական դիմումների. Դա նման է գրադարանի գործառույթների, որոնք կարող են ընդգրկվել տարբեր ծրագրեր:
Ի OOP, ժառանգությունը երկարաձգում գաղափարի բազմակի օգտագործման համար. Գոյություն ունեցող խավի, առանց փոխելու այն, որ մենք կարող ենք ձեւավորել նորը: Բացի այդ այլ գործառույթներ: Դյուրինության կրկնակի օգտագործման գոյություն ունեցող ծրագրային ապահովման - կարեւոր առավելությունն է PLO: Ենթադրվում է, որ այն ապահովում է աճող եկամտաբերության նախնական ներդրումների.
Ստեղծվում նոր տիպեր
Հարմարություններ հարմար ստեղծման համար նոր տվյալների տեսակների. Ենթադրենք մի ծրագիր օգտագործում է երկչափ արժեքները (օրինակ կոորդինատները կամ լայնության եւ երկայնությունը), եւ պետք է ցանկություն հայտնելու ակցիան թվաբանության նրանց վրա:
Position1 = պաշտոնը + ծագման,
որտեղ Position1, պաշտոնը եւ ծագման մի զույգ անկախ թվային արժեքների: Ստեղծելով մի դասարանում, որը ներառում է այդ երկու արժեքները, եւ փոփոխական հայտարարագրերը իր օբյեկտների ստեղծում է նոր տվյալների տեսակ.
Polymorphism, գերբեռնվածության
Օպերատորներ = (հավասար), եւ + (պլյուս), որն օգտագործվում է թվաբանության դիրքային վերը նշված չեն գործել, ինչպես նաեւ ներկառուցված տեսակների, ինչպիսիք են int: Պաշտոնը օբյեկտների, եւ այլոք: Չեն կանխորոշված եւ սահմանվում է ծրագրային ապահովման. Ինչպես են այս օպերատորները իմանալ, թե ինչպես պետք է կարգավորել դրանք: Պատասխանը կայանում է նրանում, որ նոր վարքագծերը կարող է սահմանել նրանց համար. Այս գործողությունները կլինի անդամ գործառույթները Մանրամասն Պաշտոն:
Օգտագործելով օպերատորների կամ ընթացակարգեր, կախված, թե ինչ են նրանք աշխատում կոչվում polymorphism: Երբ կա օպերատոր, ինչպես օրինակ, + կամ =, հնարավորություն է ստանում աշխատելու նոր տիպով, ասվում է, որ այն ծանրաբեռնված: Ծանրաբեռնված է PLO - մի տեսակ polymorphism: Դա նրա կարեւոր առանձնահատկություն.
A գիրքը PLO «Օբյեկտ-կողմնորոշված ծրագրավորում համար Dummies" թույլ կտա բոլորին ծանոթանալ այս թեմային ավելի մանրամասն.
Similar articles
Trending Now