Другие языки программирования и технологии

Объясните нормальным языком!

Объясните нормальным человеческим языком. Что такое классы и процедуры в языке программирования! На Вики читал, ничего не понял.
Anatoli Kruglov
Anatoli Kruglov
94
Пример из java.

Создаём объект Human - человека:
Human hum = new Human(23,"Петя");
Где передали параметры 23 (возраст) и "Петя" (имя) в конструктор. Эти параметры сохранены в объекте hum в его полях. Теперь вызываем для данного объекта функцию, которая имеет доступ к полям объекта.
int age = hum.getAge(); функция getAge, вызванная у объекта hum типа Human, вернула его возраст. Вызываем другой метод: hum.kill();

Теперь создаем наследника классу Human, назовём его Child. Child является Human, но может переопределить методы класса Human и добавить новые, таким образом расширить класс и изменить.
Human hum2 = new Child(5,"Вася",hum); тут у конструктора есть дополнительный параметр, где задаётся родитель ребёнка.
Теперь вызываем hum2.kill(); этот метод мог быть переопределен.

Интерфейсы: Есть интерфейсы comparable, cloneable, runnable и др. Интерфейс принуждает класс иметь в наличии опр. функционал (методы и т. д). comparable - объекты класса можно сравнивать (метод compare, который при сравнении объектов возвращает результат сравнения - больше, меньше или равен). Заранее написанный алгоритм сортировки может требовать от объектов класса быть сравнимыми между собой (comparable). Cloneable - объект можно скопировать методом clone. И т. д. и т. п. То есть наделяем функционалом, который должен быть реализован в классе.
СБ
Сергей Бабец
93 238
Лучший ответ
Класс - тип данных в объектной модели. Модель эта призвана описывать объекты реального мира через их свойства и действия с ними. Свойства называются свойствами, а действия - методами. Объект при этом описывается не максимально подробно, а тоже в рамках необходимого моделирования, т. е. только те свойства и методы, которые необходимы для решения некоторых задач.
Процедура - просто именованный участок кода. В объектном программировании использование процедурного подхода считается моветоном и некоторыми языками не поддерживается вообще.
MA
Marat Abeyev
93 387
Что такое подпрограммы, объясняется в любом приличном учебнике. В свою очередь, подпрограммы делятся на процедуры, функции и сопрограммы (называемые неучами корутинами). Их отличия тоже объясняются в учебниках.

Подпрограммы, являющиеся частью класса, именуют методами.

Класс - это шаблон (тип данных), содержащий сваленные в одну кучу описание структуры данных и методов, работающих с этими данными. Объект - созданный по шаблону (классу) блок данных, заполненный конкретными значениями.
Олег Батырев
Олег Батырев
69 841
Класс - это описание некоторого объекта + его характеристики + его возможности.
К примеру, класс "чайник".
У него есть характеристики: наличие воды внутри (логический тип: да или нет), объем налитой в него воды (в литрах), текущая температура воды (в гр. Ц.).
У него есть и некоторые действия: например, действие «начать нагревание» или действие «вылить воду» или действие «отключить нагревание».
Эти характеристики (каждая по отдельности) называются «property», а действия называются «method».
Есть некоторые обработчики исключительных ситуаций, например, если вы попытаетесь сделать действие «начать нагревание» в то время, когда там не будет воды, то это приведет к выходу чайника из строя, если там не будет некоего предохранителя (обработчика исключительной ситуации, который либо выключит нагревание, либо будет наливать воду).

Класс - это не сам объект чайник, это всего лишь его описание для того, кто будет исполнять вашу программу (компилятор языка).
Сами конечные объекты создаются в нужном месте в программе, используя специальную конструкцию, примерно такого рода (зависит от языка программирования):
$чайникнакухне = new чайник;
и этот объект $чайникнакухне будет иметь все те properties и все те methods, о которых только что шла речь.
Можно создать еще один объект чайника:
$чайниквгостиной = new чайник;
и это будет другой чайник, никак не пересекающийся с чайником, который на кухне.
У этих двух отдельных чайников будет своя отдельная температура воды, свой объем налитой воды, свой индикатор наличия воды и прочее.
Можно создать хоть сотни этих чайников по этому образцу и все они будут иметь эти свойства и действия.
Класс — это элемент ПО, описывающий абстрактный тип данных и его частичную или полную реализацию.

Процедура - подпрограмма, которая только выполняет операции, без возврата значения.
Юсуп Асхабов
Юсуп Асхабов
86 134
Ну вряд-ли ты тогда вообще что-то поймёшь, раз на Википедии не смог понять)