Как я думаю, для понимания, что такое ООП, достаточно следующего объясненияВ программировании существует термин "объект". Часто используют объект "класс".
"Класс" может содержать или не содержать:
1. Какие-то переменные, которые ты объявил в этом классе.
2. Какие-то методы, которые выполняют код.
2.1 В методе можно обозначить, что на вход он принимает значение какого-то типа, например, целое число.
2.2 Чтобы использовать метод какого-то "класса" нужно сначала инициализировать "класс", добавить в память. Например, MyClass myClass_1 = new MyClass();
2.3 В методе инициализированного "класса" можно работать с переменными того "класса", в котором написан этот метод.
2.4 Метод может возвращать обратно какое-то значение или не возвращать. Не возвращает, например, если нужно что-то вывести на экран или просто происходит какая-то другая обработка, а вывод тебе нужен в самом конце.
Пример "класса":
class Human
{
boolean isAlive;
int age;
void Human(boolean isAliveInput, int ageInput)
{
this.isAlive = isAliveInput;
this.age = ageInput;
}
}
2.4 Метод может обозначать так называемый ("первоначальный") "конструктор", который отвечает только за то, как ты будешь создавать "объект" "класса".
Например, ты хочешь создать новый класс Human. Если у тебя есть такой "конструктор", подобный тому, что я написал выше, то инициализация нового объекта класса Human будет выглядеть так:
Human myHuman_1 = new Human(true, 40)
У тебя создастся объект, класс, запись, где будет записано, живой ли какой-то абстрактный человек с возрастом 40. Можно указать в записи номер паспорта, чтобы идентифицировать человека.
2.5 Объекты могут быть помещены в массив, как и целые числа.
int myIntegers[];
Human myHumans[];
2.6 Методам можно давать одно и то же имя, если эти разные методы принимают на вход разный набор переменных. Например, ты можешь добавить пустой "конструктор", чтобы просто создать объект, и уже потом работать с полями напрямую.
Это будет выглядеть так:
class Human
{
boolean isAlive;
int age;
void Human()
{
}
void Human(boolean isAliveInput, int ageInput)
{
this.isAlive = isAliveInput;
this.age = ageInput;
}
}
Тогда ты сможешь вызывать как new Human(), так и new Human(false, 90).