КомпютриСофтуер

Абстрактен клас и метод: описанието, характеристики и функции. Какво е различен от клас интерфейс абстрактен

Всеки, който има някакви малко познания в програмирането, чудейки се защо са там абстрактни базови класове. Каква е тяхната цел? Как да създадете абстрактен клас? Какви са предимствата, които те предлагат на практика? Защо са необходими в програмирането и някои функции на тяхното изпълнение трябва да вземат под внимание?

абстрактни класове

Така че в програмния код, наречен единица въз основа на който не може да бъде създаден на обектите. Следва да се отбележи, че този клас наследници не може да бъде абстрактно. Ето защо, създаването на обекти на базата на тях е напълно възможно. Ако разгледаме примера на Java, ние изгради модел, който можем да опишем строителите в клас А. Но за да ги използвате, ние не можем. Изходът от тази ситуация е да декларира всяка променлива справка. И трябва да бъдат ясно определени, така че да сочи към обект от клас А. Това е начина, по който може да се направи? Това ще ни помогне да донесе. Трябва да се има предвид, че в класа родител винаги се смята за по-гъвкав, отколкото потомък. В много езици за програмиране, използвани за привеждане автоматично. Но ако няма доверие в присъствието на такъв механизъм, тогава трябва да указва изрично обекта.

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

Кои са те? Абстрактно обаждане тези методи, които не са изпълнени в този клас. По този начин, след скоби (която изброява аргументите, използвани там) не дават оформен отвор (при което движението на локализиращия блок описание на метода), и само запетая. По този начин, в този случай, няма информация за това, което прави. Тук въпросът може да се попита: "А какъв метод, без да бъдат приложени?" В крайна сметка, той не трябва да се използва! Разбира се, в класната стая, където е описано, че това не е възможно. Но ако вземем предвид ситуацията от гледна точка на потомък на това може да се нарече. И това ще работи по конкретно описание на разположение в този клас.

Разполага с абстрактни методи

Има ограничения при ползването им. Нека разгледаме примера на езика за програмиране Java. Съществува изискване ако класът има поне един такъв метод, той трябва да бъде абстрактно. И в никакъв случай не е подходящо да се използва такава конструкция? Нека да разберем това с домашни любимци пример класа. За да започнете да се разбере, че няма звук, който те са публикувани. Поради това, в най-общия клас не е настроен звук прилагане на метода. Но създаден орган, който освен чрез блокове за него. И по-нататък, при създаването на куче клас, котка или хамстер ще бъде предписан на единен метод за него, в рамките на която ще бъде разкрита на всички функции.

интерфейс

В програмиране, създаден с много инструменти, чиято цел - да помогне на хората да правят добро качество на продукта. И темата под внимание трябва да се обърне към този аспект, както и че всеки знае разлика от абстрактен клас от интерфейса. Така че, последната особеност е, че тя не може да бъде свойствата и методите не са определени тяло. Чрез изследване на разликата между абстрактен клас от интерфейса, трябва да живее повече от една конкретна. По този начин, първият се предава по наследство, а вторият - се реализира. Неопитен човек това може да изглежда маловажен. Факт е обаче, че може да се наследява само един клас, и осъзнах - толкова, колкото е необходимо. Това е, което е различно от интерфейса на абстрактен клас. Java е все още функции, които тя може да се опише само абстрактна публични методи и статични константи. Но в същото интерфейси също може да се наследява. Необходимо е да се отбележи, че операторите използват, са публични чрез публично.

Множествено наследяване на интерфейсите

Тази функция не е налична за класове в много езици за програмиране (например, Java, считани от нас). Това се дължи на редица проблеми. Като такива неясноти показват, че се появят последователно. Това беше причината за въвеждането на множество интерфейс наследство. Това частично решава съществуващите проблеми, но не всички. Така, благодарение на принципите на капсулиране и полиморфизъм, интерфейси могат да се прилагат успешно в различни класове по различни методи (въпреки че те ще имат същото име). Но не забравяйте за съществуващите проблеми. Така че, когато се работи с множество интерфейси ще трябва винаги да се уточни кой ще имаме в предвид. Също така, проблемите ще бъдат и когато се опитате да работят със същото име по два начина - в този случай, те няма да могат да се възползват от. Затова в такива случаи е необходимо да се грижи за наличието на общите продажби.

абстрактни данни

Тази концепция е ключът към програма. В този случай, при черпене на независим преглед и разберете разделянето на интерфейс и изпълнение. Нека разгледаме един пример. Имаме телевизор, който е обект или модул. Той разполага с интерфейс. Като такива, те са контролите, както и звук и образ. Колкото по-съвършен интерфейс се използва, толкова по-удобно на телевизора в употреба. Ние можем да превключвате между програми чрез натискане на който и да е бутон. В този случай, не е необходимо да се мисли за физическите процеси в телевизора. Се грижи за тях специалисти, които се събират на устройството. Ние обичаме хората се интересуват само в имоти. Връщайки се към програмирането, можем да кажем, че те са по подобен интерфейс и изпълнение. Също така, ако един човек е уверен в своите знания, той може да "премахне" покрие нашия хипотетичен телевизия и да я подобрим. Въпреки, че това може да доведе до местна успех, в повечето случаи, крайният резултат е отрицателен. Ето защо, в подкрепено програмиране забраната за достъп и да се скрие вътрешните компоненти на абстрактни данни. Принципът на този механизъм предвижда начин за предотвратяване на умишлено или неумишлено корекцията на вътрешните компоненти. И когато говорим за абстрактни типове данни, средната стойност на набор от набор от операции, които могат да се извършват по тях.

обекти

Вече видяхме, абстрактен клас и интерфейс като цяло и като цяло. Сега нека подробно ни познания. За да започнете да се обърне внимание обекти. Под тях, като цяло, наясно с реалността на околната среда, което съществува в пространството и времето. Но официално идентифициране на обекти в рамките на програмата е трудно (с философски и теоретична гледна точка). Ето защо, това се дължи на неговите качества. Като пример, следното: Един обект може да бъде еднозначно идентифицирани (с уникално име), той е в определено състояние и използва определен модел на поведение.

наследяване

Тъй като програмирането се осъществява въз основа на йерархични дърво изграждане на взаимоотношения между обектите, въпросът е повдигнат за факта, че основните характеристики на видовете родителски библиотеки са били прехвърлени. При наследяване разбере връзката, когато някой човек повтаря поведението и структурата на нещо друго. В обикновения живот, тя може да се намери навсякъде. Такава беше отложено и програмиране относително абстрактни елементи. За сравнение, на факта, че няма такова тяло като птица. Това е абстрактно име. Като конкретен пример доведе чай, Найтингейл или врабче. Благодарение на наследството можем да използваме библиотеки клас, както и да ги развива за определена програма. Този инструмент ни позволява да създавате нови обекти, едновременно добавяне или промяна на свойствата на вече създадени. Наследник получава всички методи и полета на неговия предшественик и придобива собствените си качества, ако е необходимо. Поради факта, че там са абстрактни елементи и на принципа на наследство, има достатъчно възможности за модификация по обектно-ориентираното програмиране. В допълнение, той позволява гъвкав подход за решаване на проблеми. Когато наследи една нова класа на прехвърлените данни и функции.

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

Необходимо е да се прилага една и съща функция за решаване на различни видове проблеми. В този случай се предвижда наличието на възможност за различно действие, съдържанието на които ще зависят от вида на обекта, с който се извършва работа. Под полиморфизъм разбере свойствата на елементи, които имат общ родител, да изпълнява подобна на семантично значение на проблема по различен начин. Ние направи аналогия с животни. Има действие - да се изпълнява. Всички знаем как се случва. Но различни животни (лъв, слон, шимпанзе, крокодил, костенурка) това действие ще се извършва по различни начини. В този случай, тяхното движение е отговорен предприемач, който, ако е необходимо може да причини за определен случай, известна рутина, алгоритъм и го изпълняват успешно. Това се прави с помощта на набор от методи. В същото време във всеки клас програмист определя кой обект свойства, които са присъщи. Промяна нещо в поколението, можете да постигнете конкретни, желаното действие в този случай. Такъв ефект се нарича полиморфизъм на обектите. Като цяло, един абстрактен клас е изключително полезен инструмент за програмиране.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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