Ява

Абстрактный класс Java

Абстрактный класс Java
Концепция абстракции состоит в том, чтобы выделить задачу объекта вместо выделения того, «как объект выполняет задачу». Этот тип концепции может быть реализован двумя способами в Java. Это абстрактный класс и интерфейс. Абстрактный класс содержит ключевое слово абстрактный. Этот класс не может быть инициирован, как другие обычные классы, но подкласс может быть получен путем наследования абстрактного класса. Доступ к функциям абстрактного класса можно получить, создав объект подкласса. Абстрактный класс также может содержать конструктор, к которому можно получить доступ, создав объект класса подкласса. В этом руководстве показано, как использовать абстрактный класс в Java.

Синтаксис:

abstract class className
имена_переменных;
абстрактный метод1 ();
public method2 ()
выписки 1… N

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

Пример-1: абстрактный класс с общедоступным методом

В следующем примере показано, как можно объявить абстрактный класс с помощью общедоступного метода и способ использования абстрактного класса путем создания подкласса. Здесь абстрактный класс содержит общедоступный метод с именем подробности() который реализован внутри абстрактного класса. Объект подкласса создается для доступа к общедоступному методу абстрактного класса.

// Определить абстрактный класс с помощью общедоступного метода
абстрактная классная книга
public void details ()
Система.вне.println («Название книги: выучите PHP за 15 минут»);
Система.вне.println ("Имя автора: Джейк Райт");
Система.вне.println ("Цена со скидкой: 35 долларов");


// Определить подкласс
class php extends book

// Основной класс
class abstract1
public static void main (String [] args)
php bk = новый php ();
bk.подробности();

Выход:

Следующий вывод появится после запуска кода. Здесь подробности() вызывается метод абстрактного класса, и текст печатается из метода.

Пример-2: абстрактный класс с абстрактным методом и общедоступным методом

В следующем примере показано, как можно объявить абстрактный класс с переменными, абстрактным методом и общедоступным методом. Операторы общедоступного метода определены внутри абстрактного класса, но тело абстрактного метода пусто, что реализовано внутри подкласса абстрактного класса. Здесь два подкласса объявляются путем расширения абстрактного класса. Подкласс с именем квадратный вычислит и напечатает площадь квадрата на основе значения п Переменная. Подкласс с именем прямоугольник вычислит и напечатает площадь прямоугольника на основе значения час а также ш переменные. Публичный метод, readData () вызывается параметром с именем тип чтобы определить, какие переменные абстрактного класса будут инициализированы. Ценность тип переменная будет 1 для инициализации значения п и 2 для инициализации значения час а также ш.

// Определяем абстрактный класс с абстрактным методом и общедоступным методом
abstract class area
общедоступные int n, h, w;
абстрактный результат void ();
public void readData (тип int)
if (type == 1)
n = 10;

еще
h = 20;
w = 30;



// Определить квадратный подкласс
квадрат класса расширяет площадь
public void result ()
// Рассчитываем площадь квадрата
int areaVal = n * n;
Система.вне.println ("Площадь квадрата равна" + areaVal);


// Определение подкласса прямоугольника
прямоугольник класса расширяет область
public void result ()
// Рассчитываем площадь прямоугольника
int areaVal = h * w;
Система.вне.println ("Площадь прямоугольника равна" + areaVal);


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

Выход:

Следующий вывод появится после запуска кода. На выходе отображается площадь квадрата, в которой значение п является 10 и площадь прямоугольника, в которой значение час является 20, и ценность ш является 30.

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

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

// Определяем абстрактный класс с конструктором
абстрактные номера классов
// объявляем переменные
защищенный финал int a, b;
// конструктор абстрактного класса
публичные числа (int x, int y)
это.а = х;
это.b = y;

// Открытый метод
публичная аннотация void maxval ();

// Определить подкласс
class findMax расширяет числа
// Конструктор подкласса
public findMax (int x, int y)
// Вызов конструктора абстрактного класса
супер (х, у);

// Реализуем абстрактный метод
public void maxval ()
if (a> b)
Система.вне.println (a + "больше" + b);

еще
Система.вне.println (b + "больше" + a);



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

Выход:

Следующий вывод появится после запуска скрипта. Здесь, 34 а также 89 задаются как значения параметров конструктора. Эти значения сравниваются в абстрактном методе, который реализован в подклассе, и печатается следующее сообщение.

Заключение:

Абстрактный класс используется, чтобы сделать программу более организованной и понятной. Несколько связанных классов можно сгруппировать с помощью абстрактных классов. Концепция и реализация абстрактного класса с различными частями объясняются в этом руководстве на простых примерах. Я надеюсь, что читатели смогут понять использование абстрактного класса и правильно применить его в своем коде после прочтения этого руководства.

Установите последнюю версию игры OpenRA Strategy в Ubuntu Linux
OpenRA - это игровой движок Libre / Free Real Time Strategy, воссоздающий ранние игры Westwood, такие как классическая Command & Conquer: Red Alert. Р...
Установите последнюю версию эмулятора Dolphin для Gamecube и Wii в Linux
Эмулятор Dolphin позволяет вам играть в выбранные вами игры Gamecube и Wii на персональных компьютерах (ПК) Linux. Являясь свободно доступным игровым...
Как использовать чит-движок GameConqueror в Linux
В статье содержится руководство по использованию чит-движка GameConqueror в Linux. Многие пользователи, играющие в игры на Windows, часто используют п...