Много вещей могу делать и в классе и методы не могу понять какая разница этих двух?
NewExOne
20 уровень
Kласс vs метод!?
Решен
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Justinian Judge в Mega City One Master
18 июня 2019, 14:02решение
Не можешь.
Ты не можешь писать логику в классе вне методов.
Класс и метод это разные уровни абстракции, сверху вниз:
Самый высокий уровень абстракции - Программа.
Майкрософт Ворд. 1С. И тд , это Программа.
Следующий уовень абстракции - модуль, пакет (package) .
Это структурирует программу на наборы операций, сгруппированных какой-то функцией.
В 1С модуль налоговой отчетности,модуль учета (условно) и тд
В Ворде - модуль работы с таблицами, модуль импорта/экспорта и тд.
Следующий уровень абстракции - классы
Класс, это минипрограмма, маленькая обособленная, делающая конкретную функцию.
Программа Майкрософт Ворд.
Модуль/Пакет Работы с файлами.
Класс: ЗаписьВФайл
Еще более низкий уровень абстракции: методы
Метод (функция) в программировании — фрагмент программного кода (подпрограмма), к которому можно обратиться из другого места программы (вики)
Ну и самый низкий - операторы или выражения.
Разные уровни абстракции необходимы для упорядочивания кода.
Представь огромный шкаф без полок.
Инструментальный ящик без секций.
Огромное 200 метровое здание на 70 этажей, в котором ни этажей ничего нет - просто железобетонный куб.
Или дом большой - без комнат, коробка, стены + крыша.
Пользоваться этим практически невозможно.
Программа это дом.
Классы это комната
Методы это мебель.
Все вместе это дает удобство и возможности.
Поэтому программу делять на пакеты, на классы, на методы, и если есть программа на 50000 строк, то почти всегда это будет 10 пакетов, 100 классов в которых 10 методов, а не 10 классов по 5000 строк в каждом. Нагроможденный в одном месте код невозможно поддерживать, изменять и тд, он не имеет смысла. Поэтому делять на классы, методы, и чем опытнее программист, тем меньше у него классы и меньше методы, чуть что он сразу выделяет в новый класс и в новый метод.
+3
NewExOne
18 июня 2019, 13:34
В классе могу вызвать метод и метод можно вызвать и в методе переменные делаются тоже самое в обоих какая разница между ними
0
СанекExpert
18 июня 2019, 14:04
инициализация переменных класса методом vs инициализация переменных конструктором класса, это имелось в виду?
при создании объектов вызывается конструктор класса
но если создать конструктор с параметрами, то мы можем проинициализировать переменные класса в момент создания объекта
а методы нужны для получения и изменения этих переменных (свойств объекта) 0
СанекExpert
18 июня 2019, 13:00
методы принадлежат классу и что-то делают, когда их вызывают
+1