Skip to content

Этот проект - простой пример реализации основных принципов объектно-ориентированного программирования (ООП) в Java.

Notifications You must be signed in to change notification settings

levvolkov/OOPJava

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

🐾 Учебный проект по ООП на Java

📌 Описание

Этот проект — простой пример реализации основных принципов объектно-ориентированного программирования (ООП) в Java.
В качестве примера используются домашние питомцы: кот и собака.

Проект демонстрирует:

  • Наследование (extends)
  • Интерфейсы и абстракцию (implements)
  • Инкапсуляцию (скрытые поля + геттеры)
  • Полиморфизм (разные реализации одних и тех же методов)

🏗 Структура проекта

src/
├── Main.java # Точка входа в программу
└── pets/
    ├── Animal.java # Базовый класс (общая логика для всех животных)          
    ├── PetActions.java # Интерфейс (договор: что должны уметь все питомцы)
    ├── Cat.java # Класс "Кот" (наследует Animal, реализует PetActions)
    └── Dog.java # Класс "Собака" (наследует Animal, реализует PetActions)

⚙️ Ключевые классы и интерфейсы

Animal.java

Базовый класс, содержит общую для всех питомцев логику:

  • eat() — питомец кушает
  • sleep() — питомец спит

PetActions.java

Интерфейс, задающий "договор" для питомцев:

  • getName() — получить имя
  • getAge() — получить возраст
  • makeSound() — издать звук
  • play() — поиграть

Cat.java и Dog.java

Классы-наследники, которые:

  • берут общие методы от Animal (например, eat())
  • реализуют обязательные методы из PetActions
  • добавляют свои уникальные реализации (Мяу-мяу!, Гав-гав!)

🚀 Запуск

  1. Склонировать проект или создать в IDEA структуру вручную.
  2. Запустить ▶ Main.java.

Пример вывода:

=== Кот (наследование + интерфейс) ===
Имя: Барсик
Возраст: 3
Я кушаю
Мяу-мяу!
Барсик играет с клубком

=== Собака (наследование + интерфейс) ===
Имя: Шарик
Возраст: 5
Я кушаю
Гав-гав!
Шарик приносит палку

🎯 Принципы ООП в проекте

  • НаследованиеCat и Dog наследуют Animal
  • Интерфейсы / Абстракция → оба реализуют PetActions
  • Инкапсуляция → поля name и age приватные, доступ через геттеры
  • ПолиморфизмmakeSound() у кота и собаки разный, но вызывается одинаково

📚 Для чего нужен проект?

  • Понять, как работают базовые принципы ООП в Java
  • Научиться правильно использовать extends и implements
  • Закрепить работу с классами, интерфейсами и методами

✅ Планы для улучшения

  • Добавить больше питомцев (например, Parrot, Hamster)
  • Реализовать несколько интерфейсов (например, Trainable, Friendly)
  • Сделать коллекцию питомцев и пройтись по ним циклом

About

Этот проект - простой пример реализации основных принципов объектно-ориентированного программирования (ООП) в Java.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages