Привет, меня зовут Алексей, и я хочу поделиться своим опытом написания программы, имитирующей работу реестра домашних животных, используя язык программирования JAVA и принципы объектно-ориентированного программирования (ООП).Для начала, я создал класс Animal, который будет являться общим классом для всех типов животных. В этом классе я определил основные атрибуты животного, такие как имя, возраст и вид. Также я добавил методы для получения и изменения этих атрибутов.java
public class Animal {
private String name;
private int age;
private String species;
// Конструктор
public Animal(String name, int age, String species) {
this.name name;
this.age age;
this.species species;
}
// Методы доступа
public String getName {
return name;
}
public void setName(String name) {
this.name name;
}
public int getAge {
return age;
}
public void setAge(int age) {
this.age age;
}
public String getSpecies {
return species;
}
public void setSpecies(String species) {
this.species species;
}
}
Затем я создал класс Pet, который наследуется от класса Animal и представляет домашнее животное. В этом классе я добавил дополнительные атрибуты, такие как порода и команды, которые может выполнить животное. Я также переопределил метод toString, чтобы можно было просто вывести информацию об объекте.java
public class Pet extends Animal {
private String breed;
private List
// Конструктор
public Pet(String name, int age, String species, String breed) {
super(name, age, species);
this.breed breed;
this.commands new ArrayList
}
// Методы доступа
public String getBreed {
return breed;
}
public void setBreed(String breed) {
this.breed breed;
}
public List
return commands;
}
public void setCommands(List
this.commands commands;
}
// Методы
public void addCommand(String command) {
commands.add(command);
}
public void printCommands {
for (String command ⁚ commands) {
System;out.println(command);
}
}
@Override
public String toString {
return ″Имя⁚ ″ getName ″\n″
″Возраст⁚ ″ getAge ″\n″
″Вид⁚ ″ getSpecies ″\n″
″Порода⁚ ″ breed;
}
}
Теперь, когда у нас есть классы Animal и Pet, мы можем заняться созданием объектов и добавлением команд для каждого животного. Я сделал это в методе main следующим образом⁚
java
public static void main(String[] args) {
Pet pet1 new Pet(″Бобик″, 3, ″Собака″, ″Джек Рассел терьер″);
pet1.addCommand(″Сидеть″);
pet1.addCommand(″Лежать″);
Pet pet2 new Pet(″Мурзик″, 2, ″Кошка″, ″Персидская″);
pet2.addCommand(″Мяукать″);
System.out.println(pet1);
pet1.printCommands;
System.out.println(pet2);
pet2.printCommands;
}
В результате выполнения программы на экран будет выведена информация о каждом животном, а затем их команды⁚
Имя⁚ Бобик
Возраст⁚ 3
Вид⁚ Собака
Порода⁚ Джек Рассел терьер
Сидеть
Лежать
Имя⁚ Мурзик
Возраст⁚ 2
Вид⁚ Кошка
Порода⁚ Персидская
Мяукать
Таким образом, я создал программу, которая имитирует работу реестра домашних животных. Здесь можно добавить новое животное, определить его класс, увидеть список команд, которые оно выполняет, и обучить его новым командам. В этой программе также реализована навигация по меню.