классы это такой объект который может сочетать в себе другие объекты
класс может содержать в себе например переменные разных типов, массивы, структуры, функции, все что угодно...
грубо говоря это модель данных + методы работы с этими данными
описываю как могу ибо не проф.программер но уверен меня поправят если что
классы это такой объект который может сочетать в себе другие объекты
класс может содержать в себе например переменные разных типов, массивы, структуры, функции, все что угодно...
грубо говоря это модель данных + методы работы с этими данными
описываю как могу ибо не проф.программер но уверен меня поправят если что
Ну содержит. А в чём приймущество если переменные разных типов, массивы, структуры, функции написать отдельно?
для сложных проектов иногда требуется сложное моделирование
тогда бывает очень удобно чтобы описания какого-то объекта или процесса хранилось целиком как одно целое и вместе с функциями которые работают с этими данными
если проект небольшой то смысла в классах нет вообще
Можно ли утвержать что классы это многотипные буфера с данными?
В правильно заданном вопросе уже содержится половина ответа. ;)
Что такое классы вообще и зачем это надо? Или как это реализовано внутри MT4?
Ну содержит. А в чём приймущество если переменные разных типов, массивы, структуры, функции написать отдельно?
Преимущество в том, что С-подобные языки позволяют создавать объекты, живущие своей жизнью.
Ну так функция тоже живёт своей жизнью.
допустим мы хотим создать виртуальную модель человека и имитировать его поведение и состояния в памяти
для этого нужно Объект "человек" описать с точки зрения структуры
допустим человек будет состоять из головы, туловища, 2 рук и 2 ног (упрощенно)
у каждого из этих объектов будут вложенные объекты
например голова будет включать 2 глаза, 2 уха, 1 носа, много зубов и т.д.
части тела могут включать органы, органы будут состоять из определенных тканей, ткани из клеток
чтобы во всем этом не запутаться нужна иерархическая система вложенности или подчиненности
каждый из объектов в конце концов описывается базовыми типами (double, int, string и т.д.)
и у каждого Объекта будет набор Свойств (длина, толщина, твердость, теплота, цвет, ...)
тогда например вместо переменной длина_ногтя_мизинца_кисти_левой_руки можно будет обращаться:
Тело.ЛеваяРука.Кисть.Мизинец.Ноготь.Длина - и этого намного эффективнее и удобнее
далее нужно описать Объект с точки зрения Функций (Методов)
например человек может сгибать-разгибать конечности, крутить шеей, поворачивать корпус, наклоняться и др.
для каждого возможного действия Функции будет свой Метод - присущий определенной части тела
например можно сгибать пальцы, но нельзя их поворачивать в произвольноим направлении!
поэтому логично что Методы должны быть описаны вместе с Объектами
например могут быть такие Методы:
Нога.Согнуть (при этом класс Нога подразумевает что это может быть и левая и правая нога)
Шея.Наклонить и мн.др., при этом действия Функций специфичны для типа объекта
согнуть ногу и согнуть палец это не одно и тоже (хотя есть общее, но это разные функции)
на самом деле все еще сложнее так как потребуется описать работу конкретных мышц
далее наступает следующий этап - сложные методы
например бег и ползание - это сложная последовательность методов относящихся к целой группе объектов
некоторые методы очень специфичны, например - письмо, речь, думание ...
если описывать это в виде перечне переменных и функций то очень быстро наступит неразбериха
вот для чего нужны классы и ООП
для простых программ это не нужно
допустим мы хотим создать виртуальную модель человека и имитировать его поведение и состояния в памяти
...
Спасибо.
Тогда это скорее похоже на базу данных Microsoft Access?
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования