Java

Абстрактен клас на Java

Абстрактен клас на Java
Концепцията на абстракцията е да подчертае задачата на обекта, вместо да подчертава „как обектът изпълнява задачата“. Този тип концепция може да бъде реализирана чрез използване на два начина в Java. Това са абстрактният клас и интерфейс. Абстрактният клас съдържа ключовата дума абстрактно. Този клас не може да бъде иницииран като други нормални класове, но подклас може да бъде извлечен чрез наследяване на абстрактния клас. Функциите на абстрактния клас могат да бъдат достъпни чрез създаване на обекта на подкласа. Абстрактният клас може също да съдържа конструктора, до който може да се осъществи достъп чрез създаване на обекта на класа на подкласа. Как можете да използвате абстрактен клас в Java е показано в този урок.

Синтаксис:

абстрактен клас className
имена на променливи;
абстрактен метод1 ();
публичен метод2 ()
изявления 1 ... N

Абстрактният клас може да съдържа атрибут или променливи, абстрактен метод и нормален метод или някой от тях. Но подкласът на абстрактния клас може да реализира само абстрактния метод на абстрактния клас.

Пример-1: Абстрактен клас с публичен метод

Следващият пример показва как можете да декларирате абстрактен клас с публичен метод и начина за използване на абстрактен клас чрез създаване на подклас. Тук абстрактният клас съдържа публичен метод с име подробности () който е реализиран в абстрактния клас. Обектът на подкласа е създаден за достъп до публичния метод на абстрактния клас.

// Дефиниране на абстрактния клас с публичен метод
абстрактна учебна книга
подробности за публична невалидност ()
Система.навън.println ("Име на книгата: Научете PHP за 15 минути");
Система.навън.println ("Име на автора: Джейк Райт");
Система.навън.println ("Цена с отстъпка: $ 35");


// Дефиниране на подклас
class php разширява book

// Основен клас
клас абстракт1
публична статична void main (String [] args)
php bk = нов php ();
bk.подробности ();

Изход:

След стартиране на кода ще се появи следният изход. Ето, подробности () се извиква метод на абстрактния клас и текстът се отпечатва от метода.

Пример-2: Абстрактен клас с абстрактния метод и публичния метод

Следващият пример показва как абстрактният клас може да бъде деклариран с променливи, абстрактен метод и публичен метод. Операторите на публичния метод са дефинирани вътре в абстрактния клас, но тялото на абстрактния метод е празно, което е внедрено вътре в подкласа на абстрактния клас. Тук се декларират два подкласа чрез разширяване на абстрактния клас. Името на подкласа квадрат ще изчисли и отпечата площта на квадрат въз основа на стойността на н променлива. Името на подкласа правоъгълник ще изчисли и отпечата площта на правоъгълника въз основа на стойността на з и w променливи. Публичният метод, readData () се извиква от параметър с име Тип за да идентифицира коя променлива (и) на абстрактния клас ще бъде инициализирана. Стойността на Тип променливата ще бъде 1 за инициализиране на стойността на н и 2 за инициализиране на стойността на з и w.

// Дефиниране на абстрактен клас с абстрактен метод и публичен метод
абстрактна област на класа
публичен int n, h, w;
абстрактен празен резултат ();
public void readData (int type)
ако (тип == 1)
п = 10;

друго
h = 20;
w = 30;



// Определяне на квадратен подклас
клас квадрат разширява площ
публичен невалиден резултат ()
// Изчисляване на площта на квадрата
int areaVal = n * n;
Система.навън.println ("Площта на квадрата е" + areaVal);


// Дефиниране на подклас на правоъгълник
клас правоъгълник разширява площ
публичен невалиден резултат ()
// Изчисляване на площта на правоъгълника
int areaVal = h * w;
Система.навън.println ("Площта на правоъгълника е" + areaVal);


// Основен клас
class abstract2
публична статична void main (String [] args)
// Създаване на обект от квадратния клас
квадрат sq = нов квадрат ();
кв.readData (1);
кв.резултат ();
// Създаване на обект от правоъгълния клас
правоъгълник rq = нов правоъгълник ();
rq.readData (2);
rq.резултат ();

Изход:

След стартиране на кода ще се появи следният изход. Резултатът показва площта на квадрат, където стойността на н е 10 и площта на правоъгълник, където стойността на з е 20, и стойността на w е 30.

Пример-3: Абстрактен клас с конструктора

Следващият пример показва как конструкторът може да бъде деклариран и използван в абстрактния клас. Конструкторът на абстрактния клас ще инициализира стойностите на а и б. Абстрактният метод, maxval () е реализиран в подкласа с име findMax. супер () метод се използва в конструктора на подкласа за извикване на конструктора на абстрактен клас. Абстрактният метод maxval () ще открие максималната стойност на две числа, които ще бъдат дадени на параметрите на конструктора на подкласа по време на създаването на обект.

// Дефиниране на абстрактен клас с конструктор
абстрактни номера на класа
// декларираме променливи
защитен краен int a, b;
// конструктор на абстрактен клас
публични номера (int x, int y)
това.a = x;
това.b = y;

// Публичен метод
публично резюме void maxval ();

// Дефиниране на подклас
class findMax разширява числата
// Конструктор на подклас
public findMax (int x, int y)
// Извикване на абстрактния конструктор на клас
супер (x, y);

// Прилагане на абстрактен метод
public void maxval ()
ако (a> b)
Система.навън.println (a + "е по-голямо от" + b);

друго
Система.навън.println (b + "е по-голямо от" + a);



// Основен клас
class abstract3
публична статична void main (String [] args)
// Създаване на обект на подкласа
findMax fmax = нов findMax (34,89);
// Намерете максимума
fmax.maxval ();

Изход:

След стартиране на скрипта ще се появи следният изход. Тук, 34 и 89 са дадени като стойности на параметрите на конструктора. Тези стойности се сравняват в абстрактния метод, който е реализиран в подкласа и се отпечатва следното съобщение.

Заключение:

Абстрактен клас се използва, за да направи програмата по-организирана и разбираема. Няколко свързани класове могат да бъдат групирани чрез използване на абстрактни класове. Концепцията и изпълнението на абстрактния клас с различни части са обяснени в този урок с помощта на прости примери. Надявам се читателите да могат да разберат използването на абстрактния клас и да го приложат правилно в кода си, след като прочетат този урок.

Средният бутон на мишката не работи в Windows 10
The среден бутон на мишката ви помага да превъртате дълги уеб страници и екрани с много данни. Ако това спре, добре ще свършите да използвате клавиату...
Как да промените левия и десния бутон на мишката на компютър с Windows 10
Напълно нормално е всички устройства на компютърни мишки да са ергономично проектирани за десничари. Но има налични устройства за мишка, които са спец...
Емулирайте кликванията на мишката, като задържите курсора на мишката с кликаща мишка в Windows 10
Използването на мишка или клавиатура в неправилна поза при прекомерна употреба може да доведе до много здравословни проблеми, включително напрежение, ...