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

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

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

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

Дакле, у програмском зове јединице кода на основу којих се не може створен објекти. Напомиње се да је ова класа наследника не може бити апстрактно. Стога, стварање предмета на основу њих је сасвим могуће. Ако се узме у обзир пример Јава, ми конструисати модел који можемо описати конструктора у класи А. Али да их користи, не можемо. Излаз из ове ситуације је да се прогласи било вариабле референце. И треба да буду јасно дефинисани тако да показује на објекат класе А. То је како се може урадити? То ће да нам помогне. Треба имати у виду да је родитељ класа увек сматра да је много разноврснија него потомка. У многим програмским језицима користи за аутоматско донесе. Али, ако не постоји поверење у присуству таквог механизма, онда морате експлицитно позива објекат.

абстрацт метходс

Шта су они? Резиме позив оне методе које нису реализоване у овој класи. Стога, након заграде (који наводи аргументе њима користе) не дају отвор облика (после чега се налази блок опис метода), а само зарез. Тако, у овом случају, не постоје информације о томе шта ради. Овде је питање може се поставити питање: "А шта метод без спровођења?" Уосталом, он се не да се користи! Наравно, у учионици, где је описан, то није могуће. Али, ако узмемо у обзир ситуацију са тачке гледишта једног потомка, он може да се зове. И она ће радити на одређеном описа у овој класи.

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

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

interfejs

У програмирању створио много алата чија је сврха - да помогне људима направи квалитетан производ. А тема се разматра треба дати овај аспект, и да сви знају разлику апстрактна класа из интерфејса. Дакле, последњи карактеристика је да не може бити особине и методе нису дефинисани тело. Испитивањем разлику између апстрактног класе из интерфејса, требало би да бораве више на једној одређеној. Дакле, први је наследио, док је други - се реализује. Неискусан човек ово може изгледати небитно. Али, чињеница је, да може бити наслеђено само једну класу, и схватио - колико је потребно. То је оно што се разликује од интерфејса апстрактне класе. Јава је и даље карактеристике које се може описати само апстрактна јавне методе и статиц константе. Али, у исто интерфејса такође може бити наслеђена. Потребно је истаћи да су оператери који се користе јавни преко јавности.

Вишеструки наслеђивање интерфејса

Ова функција није доступна за наставу у многим програмским језицима (нпр Јава сматра код нас). То је због низа проблема. Као такви недоумице указују на то да се јављају у низу. То је био разлог за увођење вишеструких интерфејса наслеђа. Ово делимично решава постојеће проблеме, али не све. Дакле, захваљујући принципима енкапсулацији и полиморфизма, интерфејс може да се успешно примењује у различитим класама према различитим методама (иако ће они имати исти назив). Али не заборавите на постојеће проблеме. Дакле, када се ради са више интерфејса ће морати да увек навести који имамо на уму. Такође, проблеми ће бити и када покушате да радите са истим именом на два начина - у овом случају, они неће бити у могућности да искористи. Због тога, у таквим случајевима потребно је водити рачуна о присуству укупне продаје.

сажетак података

Овај концепт је кључ програма. У овом случају, под апстракције независне ревизије и разуме раздвајање интерфејса и реализације. Погледајмо пример. Ми имамо телевизију, која је предмет или модул. Она има интерфејс. Као такви, они су контроле, као и звук и слика. Што се више савршен интерфејс се користи, удобније је ТВ у употреби. Можемо да прелазите програма притиском на било који тастер. У том случају, нема потребе да се размишља о физичким процесима у ТВ. Брину о њима стручњаци, који сакупљају уређај. Ми волимо људи су заинтересовани само за својствима. Враћајући се на програмирање, можемо рећи да су на сличном интерфејсу и имплементације. Исто тако, ако је особа сигурна у свом знању, он може да "уклоне" покрије наше хипотетички ТВ и да га унапреде. Иако ово може довести до локалног успеха, у већини случајева, крајњи резултат је негативан. Због тога, у подржана програмирања забране приступа и да се сакрије унутрашње компоненте апстрактних података. Принцип овог механизма обезбеђује начин да се спречи намерне или ненамерне подешавање унутрашњих компоненти. А када говоримо о апстрактним типовима података, средња вредност низа скупа операција које могу да се изврше на њима.

објекти

Већ смо видели апстрактну класу и интерфејс уопште и уопште. Сада ћемо детаљно приказује наше знање. Да бисте започели Обратите пажњу објекте. Испод њих, уопште, свестан реалности животне средине који постоји у простору и времену. Али формално идентификује објекте у оквиру програма је тешко (са филозофске и теоријске тачке гледишта). Због тога, то је због својих својстава. Као пример, следећа: Предмет може јединствено идентифицирати (са јединственим именом), то је у одређеном стању и користи одређени образац понашања.

наслеђе

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

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

Неопходно је да примени исту функцију за решавање различитих врста проблема. У том случају обезбеђује присуство могућности другачијег деловања, садржај што ће зависити од врсте предмета којима се рад обавља. Под полиморфизма разумеју својства елемената који имају заједничку родитеља, да изврши слично семантичком смислу проблема на различите начине. Цртамо аналогију са животињама. Постоји акције - да ради. сви знамо како се то дешава. Али различите животиње (лав, слон, шимпанзе, крокодил, корњача) ова акција ће бити изведена на различите начине. У овом случају, њихово кретање је одговоран програмер, који по потреби може да изазове за конкретном случају одређена рутина, алгоритама и њено спровођење успешно. Ово се ради помоћу скуп метода. У исто време у свакој класи програматор одређује који објекат особине које су својствене. Промена нешто у потомство, можете постићи одређену, жељену акцију у овом случају. Такав ефекат се назива полиморфизам објеката. У принципу, апстрактна класа је изузетно користан алат за програмирање.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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