Перейти к содержимому

Основы ООП

Четыре принципа ООП

Инкапсуляция — скрытие внутреннего состояния объекта.

Наследование — создание новых классов на основе существующих.

Полиморфизм — способность объектов разных типов иметь единый интерфейс.

Абстракция — выделение существенных характеристик объекта.

Пример

public abstract class Animal {
    private final String name;

    protected Animal(String name) {
        this.name = name;
    }

    public String getName() { return name; }

    public abstract String speak();
}

public class Dog extends Animal {
    public Dog(String name) { super(name); }

    @Override
    public String speak() { return "Woof!"; }
}

Диаграмма

    classDiagram
    Animal <|-- Dog
    Animal <|-- Cat
    class Animal {
        -String name
        +getName() String
        +speak() String
    }
    class Dog {
        +speak() String
    }
    class Cat {
        +speak() String
    }