Принципы ООП
// Родительский класс class Animal { void eat() { System.out.println("Животное ест"); } } // Подкласс, наследующий родительский класс class Dog extends Animal { void bark() { System.out.println("Собака лает"); } } public class Main { public static void main(String[] args) { Dog dog = new Dog(); dog.eat(); // Метод eat() унаследован от класса Animal dog.bark(); // Метод bark() из класса Dog } }class Person { private String name; // Методы доступа к полю name (геттер и сеттер) public String getName() { return name; } public void setName(String name) { this.name = name; } } public class Main { public static void main(String[] args) { Person person = new Person(); person.setName("John"); System.out.println("Имя: " + person.getName()); } }// Родительский класс class Animal { void makeSound() { System.out.println("Животное издает звук"); } } // Подкласс, переопределяющий метод родительского класса class Dog extends Animal { void makeSound() { System.out.println("Собака лает"); } } public class Main { public static void main(String[] args) { Animal animal = new Dog(); // Полиморфизм animal.makeSound(); // Вывод: "Собака лает" } }// Абстрактный класс abstract class Shape { abstract void draw(); // Абстрактный метод } // Подкласс, реализующий абстрактный метод class Circle extends Shape { void draw() { System.out.println("Рисуем круг"); } } public class Main { public static void main(String[] args) { Shape shape = new Circle(); // Используем абстракцию shape.draw(); // Вывод: "Рисуем круг" } }
Last updated