КомпјутериСофтвер

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

Секој кој има било малку познавања од програмирање, се прашувам за тоа зошто се таму апстрактни База Класите. Која е нивната цел? Како да се создаде некоја апстрактна класа? Кои се предностите кои ги нудат во пракса? Зошто тие се потребни во програмирање и некои карактеристики на нивната имплементација треба да се земат предвид?

апстрактните класи

Значи во програмирање наречен единица код врз основа на кои не може да се создаде на објекти. Тоа е забележано дека оваа класа на наследниците не може да биде апстрактна. Затоа, создавањето на објекти врз основа на нив е сосема можно. Ако ги земеме предвид примерот на Java, ние изградба на модел кој може да се опише на конструкторите во класата А. Но, за да ги користат, не можеме. Излезот од оваа ситуација е да се пријават променлива референца. И што треба да бидат јасно дефинирани, така што тоа укажува на објект од класа А Ова е како тоа може да се направи? Ова ќе ни помогне да се донесе. Треба да се има на ум дека на родител класа е секогаш се смета дека се повеќе разноврсна од потомок. Во многу програмски јазици се користи за да се донесе автоматски. Но, ако не постои доверба во присуство на еден таков механизам, тогаш мора експлицитно повикување на објектот.

апстрактни методи

Кои се тие? Апстрактни повик оние методи кои не се спроведуваат во оваа класа. Така, по голема заграда (во кое се дадени аргументи се користат во нив) не им даде облик на отвор (при што се наоѓа блок опис на методот), а само точка-запирка. Така, во овој случај, нема информации за тоа што го прави тоа. Овде станува збор може да се праша: "А што метод, без спроведување?" Впрочем, тој не треба да се користи! Се разбира, во училницата, каде што беше опишано, тоа не е можно. Но, ако се има предвид ситуацијата од гледна точка на еден потомок, тоа може да се нарече. И тоа ќе работат на конкретен опис на располагање во оваа класа.

Карактеристики апстрактни методи

Постојат ограничувања за нивна употреба. Ајде да го разгледаме примерот на Јава програмскиот јазик. Има услов ако класа има барем еден таков метод, тоа мора да биде апстрактна. И во секој случај тоа е соодветно да се користи како конструкција? Да се разбере ова со миленичиња пример класа. За да почнат да се разбере дека не постои звук што ќе се објават. Затоа, во најопшта класа не е во собата темелно спроведување на методот. Но создаде тело кои освен преку блокови за него. А во наредниот, при конципирањето на класа куче, мачка или хрчак ќе бидат пропишани на единствен метод за тоа, во рамките на која ќе бидат откриени на сите функции.

интерфејс

Во програмирање создаде многу алатки чија цел - да им помогне на луѓето да се направи добар квалитет на производот. И што е предмет на разгледување треба да се даде на овој аспект, и дека секој знае разлика апстрактна класа преку интерфејсот. Така, во последните карактеристика е тоа што не може да биде својства и методи не се дефинирани тело. Со испитување на разликата помеѓу апстрактен класа од интерфејсот, треба да се задржиме повеќе на еден особено. Така, првата е наследна, а вториот - да се реализира. Неискусен човек ова може да изгледа безначаен. Но, факт е, дека може да се наследи само една класа, и сфатиле - колку што е потребно. Тоа е она што е различно од интерфејсот на апстрактни класа. Јава се уште карактеристиките кои може да се опише само апстрактни методи јавниот и статички константи. Но, во исто интерфејси, исто така може да бидат наследни. Неопходно е да се истакне дека операторите кои се користат се јавноста преку јавни.

Повеќе наследство на интерфејси

Оваа функција не е достапна за настава во многу програмски јазици (на пример, Јава смета од страна на нас). Ова се должи на голем број на проблеми. Како таква нејаснотии укажуваат на тоа дека се случуваат во континуитет. Ова беше причина за воведување на повеќе интерфејс наследство. Ова делумно се решава постојните проблеми, но не сите. Значи, благодарение на принципите на херметичка и полиморфизам, интерфејси може да се спроведе успешно во различни класи според различни методи (иако тие ќе го имаат истото име). Но, не заборавајте за постоечките проблеми. Значи, кога се работи со повеќе интерфејси ќе треба да секогаш да се определи кој го имаме на ум. Исто така, проблемите ќе биде и кога ќе се обидат да се работи со исто име на два начини - во овој случај, тие нема да бидат во можност да ги искористат предностите на. Затоа, во такви случаи, потребно е да се грижи за присуство на вкупната продажба.

апстрактни податоци

Овој концепт е клучот за програмата. Во овој случај, во рамките на апстракција на независна ревизија и да се разбере поделба на интерфејс и имплементација. Ајде да погледнеме еден пример. Имаме телевизија, што е предмет или модул. Таа има интерфејс. Како такви, тие се контроли, како и звук и слика. Посовршено интерфејс се користи, поудобно ТВ во употреба. Ние може да се префрлате помеѓу програми со притискање на кое било копче. Во овој случај, нема потреба да се размислува за физичките процеси во ТВ. Се грижи за нив специјалисти, кои собираат уредот. Ние како луѓе се заинтересирани само за својства. Враќање на програмирање, ние може да се каже дека тие се на сличен интерфејс и имплементација. Исто така, ако некое лице е сигурен во своето знаење, тој може да се "отстрани" покрие нашите хипотетички ТВ и да ја подобриме. Иако ова може да доведе до локални успех, во повеќето случаи, крајниот резултат е негативен. Затоа, во поддржан програмирање забрана за пристап и да се скрие на внатрешните компоненти на апстрактни податоци. Принципот на овој механизам обезбедува начин да се спречи намерно или ненамерно прилагодување на внатрешните компоненти. И кога се зборува за апстрактни типови на податоци, средната вредност на еден сет на збир на операции, кои може да се врши врз нив.

објекти

Ние веќе ја видовме апстрактна класа и интерфејс во целина и воопшто. Сега ајде детали за нашето знаење. За да почнете да обрнат внимание објекти. Под нив, во целина, свесен за реалноста на животната средина, која постои во просторот и времето. Но формално ги идентификува објекти во рамките на програмата е тешко (со филозофски и теоретска гледна точка). Затоа, тоа се должи на нејзините својства. Како пример, следново: Еден објект може да биде уникатно идентификувани во (со единствено име), тоа е во одредена држава и користи одреден модел на однесување.

наследство

Од вашиот програмирање е врз основа на хиерархиска дрво градење на односи меѓу предметите, се поставува прашањето во врска со фактот дека основните својства на типови на родителско код библиотеки биле префрлени. Под наследство се разбере односот кога некој се повторува однесувањето и структурата на нешто друго. Во обичниот живот, тоа може да се најдат насекаде. Таков беше одложена и програмирање релативно апстрактни елементи. За споредба, на фактот дека не постои такво тело како птица. Ова е апстрактен име. Како конкретен пример доведе чај, славејот или врабец. Благодарение на наследството може да се користат библиотеките класата, како и да ги развие за одредена програма. Оваа алатка ни овозможува да се создаде нови објекти, истовремено додавање или менување на својствата на веќе создадени. Наследникот добива сите методи и полиња на неговиот предок и стекнува сопствени атрибути, ако е потребно. Се должи на фактот дека постојат апстрактни елементи и принципот на наследство, постојат многу можности за промена во рамките на објектно-ориентираното програмирање. Покрај тоа, таа им овозможува на флексибилен пристап кон решавање на проблеми. Кога ќе го наследат нова класа на пренесените податоци и функции.

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

Неопходно е да се примени истата функција за решавање на различни типови на проблеми. Во овој случај обезбедува присуство на можноста за различни акција, содржината на која ќе зависи од видот на објектот со што се врши работа. Под полиморфизам разбере својствата на елементите кои имаат заеднички родител, да се изврши слични на семантичкото значење на проблемот на различни начини. Ние се подготви аналогија со животни. Постои акција - да се кандидира. Ние сите знаеме како тоа се случува. Но, различни животни (лав, слон, шимпанзо, крокодил, желка), оваа акција ќе се врши на различни начини. Во овој случај, нивното движење е одговорен инвеститорот, кој доколку е потребно може да предизвика за одреден случај одредена рутина, алгоритам и спроведување успешно. Ова е направено со помош на збир на методи. Во исто време, во секоја класа програмер одредува кој објектот својства кои се својствени. Менување на нешто кај потомството, може да се постигне специфични, посакуваната акција во овој случај. Ваквиот ефект се нарекува полиморфизам на објекти. Во принцип, апстрактен класа е исклучително корисна алатка за програмирање.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 mk.unansea.com. Theme powered by WordPress.