| | |
| |
|
... објект? |
прегледано: |
209844 |
вкупно гласови: |
2 |
средна оценка: |
4.5 |
коментари: |
4 |
испрати до пријател
испечати
|
Објектите се клучната работа за разбирање на објектно-ориентираната технологија. Погледнете околу себе и ќе видите многу примери на објекти од реалниот свет: куче, биро, телевизор, велосипед.
Објектите од реалниот свет делат две карактеристики: сите тие имаат состојба и однесување. Кучињата имаат состојба (име, боја, гладно) и однесување (лаење, трчање, јадење). Велосипедите, исто така, имаат состојба (моментална брзина) и однесување (кочење). Идентификувањето на состојбата и однесувањето на објектите од реалниот свет е најдобар начин да почне да се размислува објектно-ориентирано.
Погледнете неколку предмети од реалниот свет што се во непосредна ваша близина. За секој објект што ќе го здогледате, прашајте се две прашања: "Кои се сите можни состојби на овој објект?" и "кои акции може да ги изврши овој објект?". Ќе забележите дека објектите од реалниот свет варираат по комплексност вашата ламба може да има само две состојби (уклучена и исклучена) и две можни акции (уклучи и исклучи), но вашето радио може да има додатни состојби (моментална гласност, моментална радио станица) и акции (зголеми гласност, намали гласнот, барај станици). Некои објекти, пак, самите содржат објекти во нив. Овие набљудувања на реалниот свет се пресликуваат во светот на објектно-ориентираното програмирање.
Софтверските објекти концептуално се слични на објектите од реалниот свет: тие, исто така, содржат состојба и соодветно однесување. Објектот ја чува својата состојба во полиња (варијабили во програмските јазици) и го експонира своето однесување преку методи (функции во некои програмски јазици). Методите оперираат над внатрешната состојба на објектот и служат како примарен механизам за комуникација меѓу објекти. Криењето на внатрешната состојба на објектот и потребата цела интеракција да се изведува преку методите на објектите е познато како податочно криење (data encapsulation) - фундаментален принцип на објектно-ориентираното програмирање.
Да земеме велосипед, на пример:
Со својата состојба (моментална брзина, моментален вртеж да педалите, и моментална поставеност на менувачот) и со обезбедување на методи за менување на таа состојба, објектот ја задржува контролата на тоа како надворешниот свет ќе го користи тој објект. На пример, ако велосипедот има 6 брзини, методот кој ги менува брзините ќе ја игнорира секоја вредност помала од 1 или поголема од 6.
Сместувањето на кодот во индивидуални софтверски објекти овозможува многу бенефиции, како:
Модуларност: Изворниот код на објектот се пишува и оддржува независно од изворниот код за другите објекти. Штом ќе се креира, објектот може лесно да се пренесува низ системот.
Криење на информации: Со интеракција само со методите на методите, деталите на внатрешната имплементација остануваат скриени од надворешниот свет.
Преискористување на код: Ако еден објект веќе постои (можеби напишан од друг програмер), тој може да се искористи во друг програм. Ова овозможува специјалисти да имплементираат / тестираат / дебагираат комплексни објекти, кои можат да се преискористат во друг код.
Замена и дебагирање: Ако одреден објект е проблематичен, може едноставно да се отстрани од апликацијата и да се замени со друг објект. Ова е аналогно на поправање на механички проблеми во реалниот свет. Ако се расипе менувачот на некој автомобил, се менува само тој со нов, а не цел автомобил.
|
|
|
|
|
|
| |
|
|
---|
JavaTM и Java-базираните ознаки се трговски марки или регистрирани трговски марки на Sun Microsystems, Inc. во САД и други држави. Java.com.mk никако не соработува со Sun Microsystems, Inc. Сите други трговски марки се сопственост на нивните сопственици. |
|