Скачать MetaTrader 5

Обсуждение статьи "Основы объектно-ориентированного программирования"

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Заведи торговый сигнал. Зарабатывай на платной подписке!
MetaQuotes Software Corp.
Модератор
181067
MetaQuotes Software Corp. 2011.12.06 14:40 

Опубликована статья Основы объектно-ориентированного программирования:

Для использования объекто ориентированного программирования (ООП) вовсе не обязательно знать что такое полиморфизм, инкапсуляция... можно просто пользоваться его возможностями. В статье рассматриваются основные возможности ООП с примерами их использования.

Рис.5. Доступ к функциям пользователем класса

Автор: Дмитрий

Nikolay Demko
12465
Nikolay Demko 2011.12.06 15:17  

Почему коды не прогнаны через стайлер?

Новичку читать будет проблемно, в МЕ он видит один стиль, а в статье другой.

ЗЫ В статье не раскрыты вопросы связи классов.

А вообще конечно, ООП сложная тема, очень не просто её описать простым языком, но с чего то нужно начинать.


Andrey Dik
11227
Andrey Dik 2011.12.06 20:40  

Статья понравилась, спасибо автору.

Но, код нечитаем - согласен с предыдущим оратором.

Dmitry Fedoseev
42884
Dmitry Fedoseev 2011.12.06 21:06  
Urain:

1. Почему коды не прогнаны через стайлер?

Новичку читать будет проблемно, в МЕ он видит один стиль, а в статье другой.

2. ЗЫ В статье не раскрыты вопросы связи классов. 

А вообще конечно, ООП сложная тема, очень не просто её описать простым языком, но с чего то нужно начинать.


1. Озадачен. Кажется что прогонял. Определенно прогонял! 

Вот такое:

~CName(){ Alert("Деструктор "+IntegerToString(m_arg)); }
void Sleep()  { Sleep(3000); }

Вообще не мой стиль (в одну строку фигурные скобки).

2. Уточните, не понятно, что за связь? 

 

 

Dmitriy Skub
11615
Dmitriy Skub 2011.12.06 21:12  

Видимо, вопрос скорее разработчикам.

Цитата:Отличие в том, что структуры данных могут включать в себя только переменные.

В С++ структура определяется как класс, все члены которого открытые.

В текущей версии MQL5 - 555 тоже можно использовать в структуре член-метод.

Это упущение текущего билда и в дальнейшем планируется разрешить использование только членов-данных?


Nikolay Demko
12465
Nikolay Demko 2011.12.06 21:17  
Integer:
...

2. Уточните, не понятно, что за связь? 

Ассоциация и другие способы связывания классов.

Dmitry Fedoseev
42884
Dmitry Fedoseev 2011.12.06 22:04  
Urain:

Ассоциация и другие способы связывания классов.

Не въезжаю. "Использование ООП для изменения логики работы программы" - не оно?

Или обертывание нескольких классов в один класс? - про это как бы есть, что можно в классе объявлять указатели на другие классы.

Dmitry Fedoseev
42884
Dmitry Fedoseev 2011.12.06 22:05  
Dima_S:

Видимо, вопрос скорее разработчикам.

Цитата:Отличие в том, что структуры данных могут включать в себя только переменные.

В С++ структура определяется как класс, все члены которого открытые.

В текущей версии MQL5 - 555 тоже можно использовать в структуре член-метод.

Это упущение текущего билда и в дальнейшем планируется разрешить использование только членов-данных?


Прям таки функции можно писать в структуре? Наверно указатели на класс - видел, пробовал, лучше об этом не знать.
o_o
Модератор
23690
o_o 2011.12.06 22:39  
Integer:
Прям таки функции можно писать в структуре?
можно.
o_o
Модератор
23690
o_o 2011.12.06 22:40  
Dima_S:

Видимо, вопрос скорее разработчикам.

Цитата:Отличие в том, что структуры данных могут включать в себя только переменные.

В С++ структура определяется как класс, все члены которого открытые.

В текущей версии MQL5 - 555 тоже можно использовать в структуре член-метод.

Это упущение текущего билда и в дальнейшем планируется разрешить использование только членов-данных?


справку по структурам откройте. а также приведение типов почитайте, про структуры.

члены методы были доступны с самого начала. Зачем их хотите убрать?

Nikolay Demko
12465
Nikolay Demko 2011.12.06 23:06  
Integer:

1) Не въезжаю. "Использование ООП для изменения логики работы программы" - не оно?

2) Или обертывание нескольких классов в один класс? - про это как бы есть, что можно в классе объявлять указатели на другие классы.

1 Не, не оно, это использование наследования.

2 уже теплее, это Композиция, которая является одним из трёх вариантов связывания, наряду с Ассоциацией и Агрегацией.

Кстати я удивлён что такие основоположные парадигмы, не освещены в описании ООП в справке.

1234
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий