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

 

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

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

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

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

 

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

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

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

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

 

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

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

 
Urain:

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

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

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

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


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

Вот такое:

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

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

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

 

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

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

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

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

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


 
Integer:
...

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

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

 
Urain:

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

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

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

 
Dima_S:

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

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

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

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

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


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

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

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

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

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

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


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

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

 
Integer:

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

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

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

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

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