Что такое классы? - страница 4

 
sergeev:

у вас проблема знаний, но она лежит не в теоретической плоскости.
Вы хорошо понимаете суть и приват и паблик режимов. И разницу между данными и функцией (точнее то что можно внести в функцию для проверок и инициализации)

У вас просто отсутствует практика создания громадных проектов, с участием команды других программистов, аналитиков и использования сторонних библиотек.
Вот только когда окунешься полностью в программирование не как хобби и поделки для MQL, а как действительно продуктовую работу, тогда понимание постепенно придет.

Никто вам не запрещает для индикаторов или экспертов, текст которых умещается в трех mqh файлах или -надцати функциях использовать всё в паблик. ИЛи вообще без классов.
Да к тому же на 100% уверен, что кроме вас этот код никто и видеть никогда не будет. Пишите его как хотите, хоть левой ногой, хоть копипастом из чужого кода.

Когда же почуствуете стремление быть на голову выше - то требования к коду вы уже будете сами понимать.
Освоите практику создания модульных и автотестов, написание документации, обоснование всех функци кода.
Сейчас же - юзайте как хотите

PS
в MQL ООП особо не нужно. Так как основная библиотека функций и справочник они не ООП.
ООП тут используется только для скрытия пространства имён или как обвертки над стандартными функциями.

Открою страшную тайну, - хотите?
 
tara:
Открою страшную тайну, - хотите?
Смотрю я на Ваши недавние посты Алексей, и сомнения присутствуют, что Вы откроете хоть какую-то тайну..
 
eevviill:

Шо то мне начало казатся что это больше будет места занимать чем если бы писать глобальные переменные+функции. 

Это действительно так, но только в начале проектирования. Изначально по сравнению с процедурным программированием, требуется набить большее количество кода. Однако потом процедурный код становится более сложным и неуправляемым, поэтому с каждой новой функцией разрыв в скорости разработки сокращается, а затем и вовсе победитель меняется местами с "отстающим" и ООП программа начинает выигрывать как в скорости ее развития, так и в плане общей управляемости проектом.
 
eevviill:
Можно ли утвержать что классы это многотипные буфера с данными?
Нет. Скорее классы это композитные данные, включающие в себя специальные методы по их обработке. Но лучше не заворачиваться определением, иначе уже на первом этапе изучения могут начаться трудности.
 
shanty:
А можно изучить C#. Это изначально объектно-ориентированный язык, как ни какой другой. Посмотреть куры от itvdn и всё поймёшь. Есть книги толковые, например, Эндрю Троелсен. Язык программирования C#5.0 и платформа .NET 4.5. Я сам по нему изучал. Всю базу точно проскачешь легко. А дальше уже более специфичные материалы нужно капать.
Эндрю Троелсен написал замечательную книгу. Но она не для новичков, и посвящена не ООП как таковому, а тому, что в C# есть. Поэтому ее никак нельзя рекомендовать начинающим.
 
eevviill:

Не могу разобратся. Написал класс Квартира. Хочу посчитать(установить) для 3-х квартир столы и потом где то узнавать их количество.

  Для чего в статье приват переменные. Только для использования их в обсчётах в классе?

Шо то мне начало казатся что это больше будет места занимать чем если бы писать глобальные переменные+функции. 

Имхо, выбранный Вами подход неверен, хотя именно таким путем идут большинство новичков. Нужно не заучивать что делают те или иные типы методов и прочие ООП выражения, а путем размышлений приходить к изящным, простым и логичным конструкциям, которые можно реализовать с помощью предлагаемого функционала. Т.е. ошибка в том, что в изучении ООП берется направление от программирования к пониманию, а следовало бы начать пониманием, конечным результатом которого был бы ООП код.

В общем, если интересно, можем порассуждать над задачей квартиры и мебели в ней в терминах ООП и в конце концов прийти к той форме класса, которую без проблем смог бы закодить понять любой начинающий ООП'шник:)

Для затравки, предлагаю желающим ответить на следующие вопросы:

  1. Какую мебель, по мимо столов, может включать в себя квартира (на вопрос есть однозначный ответ);
  2. Сколько мебели может быть в квартире (также имеется однозначный ответ).
  3. Что есть стол по своей сути? Это число? Объект? Мебель? Чем стол отличается от стула и любой другой мебели?
 
shanty:
Смотрю я на Ваши недавние посты Алексей, и сомнения присутствуют, что Вы откроете хоть какую-то тайну..
Зря отвечаете на пост, не Вам адресованный. Извините за менторство, у стариков бывает.