Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Когда то (конец 90-х), когда учил некоторым желающим с низкими способностями, понять что такое классы, объекты, объяснил так.
Вот например в вашем доме есть стол, стулья, ложки и т.д, в том числе и сейф. Допустим, что к сейфу не все челны семьи имеют доступ. Но вот ваш друг из соседнего дома должен иметь доступ к вашему сейфу.
Вот жители из чужих домов, не смогут приходить в ваш дом и забрать ваши стулья, ложки . . . они защищены.
А вот в магазин может войти любой бомж, но не сможет войти в здание парламента. Вот как сделать, чтобы в лесу шишки были общими, а ваш огород был защищен от посторонних.
Пример неадекватен. Ограничение доступа не защищает код от взлома. Поэтому соседу ваш исходный код будет виден если он часть общего проекта, а если не часть, то попортить он не сможет ничего и так.
Подобные объявления переменных на глобальном уровне - просто недопустимы. Все такие случаи должны оформляться протектед-членами классов, и доступ к ним должен осуществляться только в рамках заранее утвержденного интерфейса лишь тем, кому это необходимо.
Да не же. Именно глобальные переменные, которые обрабатываются последовательно разными функциями - это правильный стиль. Иначе никак.
Пример недекватен.(что это ? языковое нововведение ? :) Ограничение доступа не защищает код от взлома. Поэтому соседу ваш исходный код будет виден если он часть общего проекта, а если не часть, то попортить он не сможет ничего и так.
Видимо вы раньше работали сапожником и смотрели много детективных и хакерских фильмов.
Да не же. Именно глобальные переменные, которые обрабатываются последовательно разными функциями - это правильный стиль. Иначе никак.
Не использую ООП и не собираюсь, всё что нужно для торговли есть в MQL4
Подобные объявления переменных на глобальном уровне - просто недопустимы. Все такие случаи должны оформляться протектед-членами классов, и доступ к ним должен осуществляться только в рамках заранее утвержденного интерфейса лишь тем, кому это необходимо.
Если все переменные спрятаны внутри классов, то как обрабатывать внешние данные, которые существуют и обрабатываются на протяжении всей программы?
Если все переменные спрятаны внутри классов, то как обрабатывать внешние данные, которые существуют и обрабатываются на протяжении всей программы?
Доступ ко всем данным должен проходить через заранее утвержденные интерфейсы. Это позволяет изменять структуру данных внутри классов, не затрагивая "внешние отношения" объектов. Интерфейс должен быть таким, чтобы пользователь его мог бы иметь доступ исключительно к тем данным, которые ему необходимы, и в том объеме, который необходим.
Доступ ко всем данным должен проходить через заранее утвержденные интерфейсы. Это позволяет изменять структуру данных внутри классов, не затрагивая "внешние отношения" объектов. Интерфейс должен быть таким, чтобы пользователь его мог бы иметь доступ исключительно к тем данным, которые ему необходимы, и в том объеме, который необходим.
А как интерфейс забросит внешние данные в класс? Класс же изолирован от всего.
Ну во первых класс видит глобальные переменные. Во вторых можно закидывать при инициализации, или динамично через функции класса.
Ну во первых класс видит глобальные переменные. Во вторых можно закидывать при инициализации, или динамично через функции класса.