Logo

Developer learning path

Java

Принципы ООП в Java

Принципы ООП

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

19

#example
                    
// Пример 1: Абстракция в ООП

// Абстрактный класс Фигура
abstract class Shape {
    abstract void draw(); // Абстрактный метод
}

// Класс Круг является подклассом Фигуры
class Circle extends Shape {
    @Override
    void draw() {
        System.out.println("Рисуем круг");
    }
}

// Класс Прямоугольник является подклассом Фигуры
class Rectangle extends Shape {
    @Override
    void draw() {
        System.out.println("Рисуем прямоугольник");
    }
}

public class Main {
    public static void main(String[] args) {
        Shape circle = new Circle();
        Shape rectangle = new Rectangle();

        circle.draw(); // Вызов метода рисования круга
        rectangle.draw(); // Вызов метода рисования прямоугольника
    }
}
                  
                    
// Пример 2: Абстракция в интерфейсах

// Интерфейс Игрок - определяет общие методы для всех игроков
interface Player {
    void play();
    void stop();
}

// Класс Футболист реализует интерфейс Игрока
class FootballPlayer implements Player {
    @Override
    public void play() { System.out.println("Футболист играет");}
    @Override
    public void stop() { System.out.println("Футболист останавливается");}
}

// Класс Баскетболист реализует интерфейс Игрока
class BasketballPlayer implements Player {
    @Override
    public void play() { System.out.println("Баскетболист играет");}
    @Override
    public void stop() { System.out.println("Баскетболист останавливается");}
}

public class Main {
    public static void main(String[] args) {
        Player footballPlayer = new FootballPlayer();
        Player basketballPlayer = new BasketballPlayer();

        footballPlayer.play(); // Футболист начинает игру
        basketballPlayer.stop(); // Баскетболист останавливается
    }
}
                  
                    
                  

May 29, 2024

Если вам не совсем понятен какой-то абзац текста из лекции, просто нажмите на него и сможете задать уточняющие вопросы по нему.

Если же непонятен весь вопрос, то нажмите на кнопки внизу, чтобы получить новый вариант объяснения, практические примеры или критически оценить сам вопрос.