
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Кстати я удивлён что такие основоположные парадигмы, не освещены в описании ООП в справке.
1 Не, не оно, это использование наследования.
2 уже теплее, это Композиция, которая является одним из трёх вариантов связывания, наряду с Ассоциацией и Агрегацией.
Кстати я удивлён что такие основоположные парадигмы, не освещены в описании ООП в справке.
Это скорее трюки программирования, а не непосредственные возможности ООП.
Что касается агрегации:
В объектно-ориентированном программировании под агрегированием (также называемом композицией или включением) подразумевают методику создания нового класса из уже существующих классов путём вложения. Об агрегировании также часто говорят как об «отношении принадлежности» по принципу «у машины есть корпус, колёса и двигатель».
Вложенные объекты нового класса обычно объявляются закрытыми, что делает их недоступными для прикладных программистов, работающих с классом. С другой стороны, создатель класса может изменять эти объекты, не нарушая при этом работы существующего клиентского кода. Кроме того, замена вложенных объектов на стадии выполнения программы позволяет динамически изменять её поведение. Механизм наследования такой гибкостью не обладает, поскольку для производных классов устанавливаются ограничения, проверяемые на стадии компиляции.
На базе агрегирования реализуется методика делегирования, когда поставленная перед внешним объектом задача перепоручается внутреннему объекту, специализирующемуся на решении задач такого рода.
http://ru.wikipedia.org/wiki/Агрегирование_(программирование)
справку по структурам откройте. а также приведение типов почитайте, про структуры.
члены методы были доступны с самого начала. Зачем их хотите убрать?
Ассоциация и другие способы связывания классов.
Один момент:
m_size.
Префикс m_ в общепринятых соглашениях об именовании приставляется членам-данным класса. Предназначен по большей части для явного отличия в методах локальных переменных от данных класса.
Прям таки функции можно писать в структуре? Наверно указатели на класс - видел, пробовал, лучше об этом не знать.
Почему коды не прогнаны через стайлер?
Новичку читать будет проблемно, в МЕ он видит один стиль, а в статье другой.
ЗЫ В статье не раскрыты вопросы связи классов.
А вообще конечно, ООП сложная тема, очень не просто её описать простым языком, но с чего то нужно начинать.
Ну и зачем оно ) . Вот паттерны это да, но это уже не уровень начинающих.
Один момент:
m_size.
Префикс m_ в общепринятых соглашениях об именовании приставляется членам-данным класса. Предназначен по большей части для явного отличия в методах локальных переменных от данных класса.
Префикс m_ использовался при программировании под MFC, применялся к private и protected переменным, никаких других "общепринятых" соглашений нет. После ухода MFC со сцены обо всех этих дурацких m_ все, слава богу, забыли )) Кто не верит - качаем примеры и убеждаемся (там есть раздел и по MFC) http://archive.msdn.microsoft.com/vcsamples
Префикс m_ использовался при программировании под MFC, применялся к private и protected переменным, никаких других "общепринятых" соглашений нет. После ухода MFC со сцены обо всех этих дурацких m_ все, слава богу, забыли )) Кто не верит - качаем примеры и убеждаемся (там есть раздел и по MFC) http://archive.msdn.microsoft.com/vcsamples
та не. При чем тут MFC? https://ru.wikipedia.org/wiki/%D0%92%D0%B5%D0%BD%D0%B3%D0%B5%D1%80%D1%81%D0%BA%D0%B0%D1%8F_%D0%BD%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D1%8F
это удобство и не более. В каждой программистской компании свои правила могут быть.
Очень нужная статья!
Предлагаю разработчикам создать новую категорию для статей. Что-то вроде "Основы (теория) программирования"...