КомпютриПрограмиране

Елементи на Java обектен модел: абстрактен клас, интерфейс

Основната идея на абстрактен клас, се съдържа в следните тезиси: понякога не се нуждае от уроци по готвене, а в "мокро" форма. Такива заготовки не могат да бъдат използвани директно (примери).

Какво е абстрактен клас в Java

Помислете още един пример. Налице е Java абстрактен клас Календар в java.util пакет. Тя не се изпълни определено календар, който се използва, например, в Западна и Източна Европа, Китай, Северна Корея, Тайланд и т.н. D. Но това няма много полезни функции, като например добавяне на няколко дни за определена дата. Са необходими Тези функции за всеки календар на изпълнение. Невъзможно е да се направи копие на абстрактен клас.

Абстрактни класове, абстрактни методи Java

Да предположим, че искате да се развива на няколко графични елементи, например, геометрични фигури: .. кръг, правоъгълник, звезда и т.н. И там е контейнер, който ги привлича. Всеки компонент на външния вид е различен, така че най-подходящия метод (дори ако той се нарича боя) се осъществява по различен начин. Въпреки това, всеки компонент има много прилики: .. Цифрата трябва да бъдат включени в кутията може да има цвят, за да бъде видимо и невидимо, и т.н. С други думи, трябва да се създаде клас майка за всички тези фигури, където всеки компонент ще наследят общите свойства. Но какво да кажем за метода на боя? В крайна сметка, клас родител не е визуално представяне. Ако декларирате метод за боя във всеки клас, независимо, че ще бъде необходимо да се анализира какво компонент се обработва, за да извършите актьорите. Следователно методът трябва да бъде обявена за абстрактно в класа родител: метода, титлата без тяло. А тялото на всеки получен клас ще опише сам. В Java абстрактен клас може да влезе в абстрактни методи.

Ако един клас има абстрактни методи, класът е абстрактен. Преди клас дума постави ключовата дума абстрактно, заглавието на метода - също. След заглавието на този метод е необходимо да се постави запетая. В Java абстрактен клас не може да произвежда копия. Ако искаме да се забрани създаването им, дори и ако няма абстрактни методи на класа, класа може да бъде обявена за абстрактно. Но ако този клас има поне един абстрактен метод, клас трябва да бъде абстрактно. Невъзможно е да се клас е и абстрактно е и краен, и методът също. Методът не може да бъде абстрактна, лично, статичен, роден. За да подклас човек може да декларира, които не са абстрактни и конкретни примери, те трябва да приложат всички абстрактни методи на родителя. Самият клас могат да използват своите абстрактни методи.

например:

  • абстрактен клас AClass {
  • обществен абстрактен метод нищожен (инт а) ;
  • }
  • клас BClass простира AClass {
  • обществени невалидни метод (междинно съединение а) {
  • // тяло
  • }

Позволени променливи като абстрактен клас. Те могат да се отнасят до не-абстрактно дете от този клас или да бъде нула.

Интерфейси в Java - алтернатива на множествено наследяване

В Java, няма множествено наследяване, защото тогава има някои проблеми. А клас не могат да наследят от няколко класа. Но той може да реализира множество интерфейси.

Java интерфейси и абстрактни класове - понятията са сходни, но не идентични. Интерфейсът може да бъде обявен за публична, то е достъпно за всички, или можете да пропуснете модификатор обществеността, а след това на интерфейса е достъпна само в рамките на своя пакет. не се изисква Abstract ключова дума, защото интерфейса и така е абстрактно, но можете да определите.

Декларацията върху интерфейс

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

  • публичен интерфейс AI простира В, С, D {
  • // тяло
  • }

За да декларирате интерфейс наследник клас, трябва да използвате режима на работа по ключови думи:

  • клас AClass прилага BI, CI, DI {}

Това означава, че ако след декларацията на клас изпълнява посоченото име интерфейс, неговите клас изпълнява. Наследниците на този клас получава неговите елементи, така че те също да го продаде.

Също така е позволено Променливи от тип интерфейс. Те могат да се отнасят до типа на класа, която реализира този интерфейс, или нула. Такива променливи имат всички елементи на класа на обекта, тъй като обектите са генерирани от класа, а те, от своя страна, произлиза от класа Object.

В тази статия, ние обсъдихме някои елементи на Java обектен модел - абстрактни класове, абстрактни методи интерфейс.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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