Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Все равно, не доходит до меня, что же в ООП "Объект".
Написано "Объект это экземпляр класса". Класс может иметь множество экземпляров. Но, эти экземпляры просто ссылки на класс. Класс содержит поля. Поля - это свойства объекта. Методы - элементы движка, обрабатывающие значения конктретных свойств объекта.
В моем понимании, объект - именованный (или нумерованный) комплекс свойств. Значения свойств обрабатываются различными механизмами больших блоков. В принципе - тоже самое. Только записывается по другому. В ООП происходит дробление функционала ради его инкапсуляции. У меня - наоборот - объединение функционала.
Если перевести вопрос в область графики, То класс - "CButton" это тоже, что мой элемент Кнопка. В моей реализации, это три объекта в ядре, каждый из которых - ряд свойств. В классе, это тоже список свойств (полей), методов кнопки (у меня методов принадлежащих отдельно кнопке нет. Функционал кнопки находится внутри глобальных функциональных блоков). В этих блоках кнопка обрабатывается как любой элемент, но в определенных местах есть ее личные условия и обработчики. В ООП тот же самый функцонал кнопки, только инкапсулирован в классе, доступ к которому через экземпляры.
Джорж, в каждой библиотеке, в каждом решении, заложена какая то концепция. Если я беру чужую концепцию и на ее основе пытаюсь развивать свою, я могу получить концептуальный "краш", потому что система, построенная на двух или более концепциях не может быть стабильной. Поэтому, инновационные вещи нужно разрабатывать самому и с нуля. Чтобы не бороться с "родовыми" ошибками и противоречиями остальных авторов.
Петр, вы зря спорите. Доказать ничего невозможно. Я так-же не понимаю такой подход к программированию когда вместо использования _Symbol предлагают подключить библиотеку CSymbolInfo и писать объект.Name()
Не понимаю использования например таких методов СБ
в чём сложность написать
И в том и другом случае всего одна строка кода.
С другой стороны, Артём мне демонстрировал возможности ООП в которых я заблудился, ничего не понял и не использую
Не очень так.
Вот объясню по другому. Обычно так никто не объясняет.
Все программисты знают что такое например int x;
Теперь представим что слово int это как название класса. А что он описывает ? что это:
1. целое число
2. занимает в памяти 4 байта
3. принимает значения +- в каких то пределах. (столько хватит);
И когда мы пишем int x; то объявляем объект x, int типа. x уже физически занимает 4-х байтовое поле в оперативной памяти.
Петр, вы зря спорите. Доказать ничего невозможно. Я так-же не понимаю такой подход к программированию когда вместо использования _Symbol предлагают подключить библиотеку CSymbolInfo и писать объект.Name()
Не понимаю использования например таких методов СБ
в чём сложность написать
И в том и другом случае всего одна строка кода.
С другой стороны, Артём мне демонстрировал возможности ООП в которых я заблудился, ничего не понял и не использую
В этом варианте смысла, Класс - склад инструментов, материалов, сырья и станков. Иерархия наследующихся классов - вроде цехов "завода".
Пётр, зачем вам углубляться в такие тонкости?
Класс - это описание объекта, его свойств и методов установки и доступа к этим свойствам.
Объект - это когда мы объявили переменную с типом класса, или создали новый объект этого класса оператором new.
Например, вот это класс:
В нём всего два члена класса - тип и наименование. Это его свойства. И это ещё не объект. Это план, чертёж, проект... будущего объекта.
Создаём объект:
CClass class_obj; // Объявили переменную class_obj с типом класса CClass. Теперь class_obj - это объект
Создаём объект и указатель на него:
Джорж, в каждой библиотеке, в каждом решении, заложена какая то концепция. Если я беру чужую концепцию и на ее основе пытаюсь развивать свою, я могу получить концептуальный "краш", потому что система, построенная на двух или более концепциях не может быть стабильной. Поэтому, инновационные вещи нужно разрабатывать самому и с нуля. Чтобы не бороться с "родовыми" ошибками и противоречиями остальных авторов.
Есть всего семь (!) нот. А сколько музыки на них? И ни один композитор не задумывается о крахе. Он просто пишет музыку, играющую в душе. Не придумывает что-то иное, а использует эти семь нот.
Пётр, зачем вам углубляться в такие тонкости?
Класс - это описание объекта, его свойств и методов установки и доступа к этим свойствам.
Объект - это когда мы объявили переменную с типом класса, или создали новый объект этого класса оператором new.
Например, вот это класс:
В нём всего два члена класса - тип и наименование. Это его свойства. И это ещё не объект. Это план, чертёж, проект... будущего объекта.
Создаём объект:
Создаём объект и указатель на него:
Класс - это описание объекта. Хорошо. Содержит свойства объекта и его функционал. Ок. Все это упорядочено, открыто или защищено.
Тогда САМ ОБЪЕКТ - за кадром. Он в контексте класса. В контексте его названия и описания. То есть в ООП, Объект, - именнованный комплекс атрибутов (не только свойств, но и функциональных элементов - методов), но более упорядоченный и инкапсулированный, чем у меня. (Так мне понятнее).
Не понимаю использования например таких методов СБ
в чём сложность написать
сама концепция ООП подразумевает как раз и не писать - Вы не должны знать реализацию метода (в Вашем примере return(SymbolSelect(m_name,select)))
представьте, что вместо этой строчки:
нужно выполнить очень много запросов, различных проверок и т.п. - на это у Вас уйдет время на написание собственной библиотеки и на само изучение материала
Пусть Ваша задача как раз и сводится всего к использованию одного метода уже готового решения в виде класса - Вы создаете экземпляр класса (обьект) и используете готовый метод Select(const bool select)
Если дальше не предполагается выполнять еще такие операции, освободим память = уничтожим обьект
Пусть Ваша задача сводится к отображению кнопки по нажатию которой Вы включаете / отключаете символ в обзоре рынка ---> создаете свой класс и инкапсулируете в него уже готовый класс кнопка и готовый класс CSymbolInfo - все задача решена
Парадигме ООП дает лишь общие сведения что можно делать с классом - не хотите инкапсулировать CSymbolInfo - ну возьмите наследуйте от него свой класс
ЗЫ: если "на пальцах", то суть ООП - это быстрое решение поставленной задачи без знания реализации
Класс - это описание объекта. Хорошо. Содержит свойства объекта и его функционал. Ок. Все это упорядочено, открыто или защищено.
Тогда САМ ОБЪЕКТ - за кадром. Он в контексте класса. В контексте его названия и описания. То есть в ООП, Объект, - именнованный комплекс атрибутов (не только свойств, но и функциональных элементов - методов), но более упорядоченный и инкапсулированный, чем у меня. (Так мне понятнее).
Чтобы всё было понятно, надо читать книги. Хотя бы VC++ за 21 день.
Советую на первое время использовать MFC, создавать windows приложение на основе CDialog, создавая всякие объекты и посмотреть как легко они управляются.
После этого будете выбросить вашу затею. К сожалению.