Народ мне нужна ваша помощь.
Я не пойму почему некоторые используют классы для реализации там в своей программе,
некоторые struct и.т.п.
Зачем все это нужно когда можно обойтись простой функцией??
Просто я не понимаю разницы между этим всем и в чем + и в чем — каждого этого метода.
Помогите мне.
20.05.03 18:43: Перенесено модератором из 'WIN API' в Философию. Авансом, глядишь, принесёт прибыль — ХД
Здравствуйте, Buggy, Вы писали:
B>Народ мне нужна ваша помощь. B>Я не пойму почему некоторые используют классы для реализации там в своей программе, B>некоторые struct и.т.п. B>Зачем все это нужно когда можно обойтись простой функцией?? B>Просто я не понимаю разницы между этим всем и в чем + и в чем — каждого этого метода. B>Помогите мне.
А ты попробуй написать серьезный проект на чистом C без использования структур. Или даже со структурами, но на C, т.е. без классов.
А потом поробуй спректировать и ерархию классов и написать тоже самое на C++.
Сразу пропадут подобные вопросы.
ООП позволяет оптимальнее строить логические связи между частями программы. Разбивать программы на логические части слабо связанные между собой. В общем надо писать и сравнивать, тогда поймешь.
Хотя есть люди, которые придерживаются мнения, что на C можно делать ошибки, а на C++ их наследовать. Остроумное замечание, но я с ним категорически не согласен.
__________________________________
Василий Черневич (aka Willi)
Здравствуйте, Willi, Вы писали:
W>Здравствуйте, Buggy, Вы писали:
B>>Народ мне нужна ваша помощь. B>>Я не пойму почему некоторые используют классы для реализации там в своей программе, B>>некоторые struct и.т.п. B>>Зачем все это нужно когда можно обойтись простой функцией?? B>>Просто я не понимаю разницы между этим всем и в чем + и в чем — каждого этого метода. B>>Помогите мне.
W>А ты попробуй написать серьезный проект на чистом C без использования структур. Или даже со структурами, но на C, т.е. без классов.
W>А потом поробуй спректировать и ерархию классов и написать тоже самое на C++.
Поправочка: Перед этим, для полноты ощущений, рекомеендуется почитать что-нибудь по ООП, хотя бы Буча.
7. О чем невозможно говорить, о том следует молчать.
Здравствуйте, Buggy, Вы писали:
B>Народ мне нужна ваша помощь. B>Я не пойму почему некоторые используют классы для реализации там в своей программе, B>некоторые struct и.т.п.
Здравствуйте, Buggy, Вы писали:
B>Народ мне нужна ваша помощь. B>Я не пойму почему некоторые используют классы для реализации там в своей программе, B>некоторые struct и.т.п. B>Зачем все это нужно когда можно обойтись простой функцией?? B>Просто я не понимаю разницы между этим всем и в чем + и в чем — каждого этого метода. B>Помогите мне.
Функциональное программирование - это перестановка стульев на Титанике (с)
... << RSDN@Home 1.0 beta 7a... а еще я в нее ем >>
W>>А потом поробуй спректировать и ерархию классов и написать тоже самое на C++.
WF>Поправочка: Перед этим, для полноты ощущений, рекомеендуется почитать что-нибудь по ООП, хотя бы Буча.
А я бы не советовал.
Читал я одного Буча, очень утомительный и детализированный не по делу. Как организовать обсуждение, как правильно уголки у квадратиков закрашивать и т.п.
Здравствуйте, mihailik, Вы писали:
W>>А потом поробуй спректировать и ерархию классов и написать тоже самое на C++. WF>Поправочка: Перед этим, для полноты ощущений, рекомеендуется почитать что-нибудь по ООП, хотя бы Буча. M>А я бы не советовал. M>Читал я одного Буча, очень утомительный и детализированный не по делу.
А что, их много!?
M>Как организовать обсуждение, как правильно уголки у квадратиков закрашивать и т.п.
Когда я читаю таких зубров, и мне кажется что они гонят, я сначала 10 раз сомневаюсь, а не гоню ли я... И тебе советую. Буч очень много сделал для ООП, и книжки у него правильные, так что нечего тут!
Здравствуйте, mihailik, Вы писали:
W>>>А потом поробуй спректировать и ерархию классов и написать тоже самое на C++.
WF>>Поправочка: Перед этим, для полноты ощущений, рекомеендуется почитать что-нибудь по ООП, хотя бы Буча.
M>А я бы не советовал.
M>Читал я одного Буча, очень утомительный и детализированный не по делу. Как организовать обсуждение, как правильно уголки у квадратиков закрашивать и т.п.
Во-первых, я согласен с orangy
Во-вторых, я имел ввиду, что без понимания ООП к классам лучше и не подходить.
7. О чем невозможно говорить, о том следует молчать.
M>>Как организовать обсуждение, как правильно уголки у квадратиков закрашивать и т.п.
O>Когда я читаю таких зубров, и мне кажется что они гонят, я сначала 10 раз сомневаюсь, а не гоню ли я... И тебе советую. Буч очень много сделал для ООП, и книжки у него правильные, так что нечего тут!
Может и так. А может его научные заслуги и не имеют отношения к литературе. Во всяком случае, у меня сложилось мнение, что, при всей его гениальности, книги у него получаются не очень.
WF>Во-вторых, я имел ввиду, что без понимания ООП к классам лучше и не подходить.
Это да. Но книжки у Буча толстые, по ним начинающему учиться неоптимально. Как мне кажется.
Я по опыту заметил, что учиться лучше всего "по-быстрому". Сел, начал, подправил, подчитал ещё пару глав. И тексты должны быть чёткие, ёмкие, лаконичные. У Буча я таких не встретил.
Здравствуйте, FlashBack, Вы писали:
FB>Здравствуйте, Lloyd, Вы писали:
L>>What's the difference?
FB>Очень даже difference...
FB>У классов есть наследование, размножение, вырастание, доращивание .... FB>А структуры бездетные
размножение, вырастание, доращивание -- что такое не знаю, вощможно действительно есть.
Но вот по поводу наследования -- нажется мне, что кто-то из нас ошибается.
L>размножение, вырастание, доращивание -- что такое не знаю, вощможно действительно есть. L>Но вот по поводу наследования -- нажется мне, что кто-то из нас ошибается.
AFAIK, в C++ структура ничем от класса не отличается, кроме того, что у структуры по умолчанию все члены и наследование открытые . Это если брать семантику слова struct.
7. О чем невозможно говорить, о том следует молчать.
A>typedef struct STRUCT typedef STRUCT
A> { {
A> public:
A> int field; int field;
A> private: private:
A> double data; double data;
A> } * LPSTRUCT; } * LPSTRUCT;
A>//
A>typedef struct CClass typedef CClass
A> { {
A> private:
A> int field; int field;
A> char MethodInternal(); char MethodInternal();
A> public: public:
A> double data; double data;
A> void MethodExternal(); void MEthodExternal();
A> }; };
A>
Ух ты! Когда треды внесут в Стандарт, исходник мультитредовой программы будет выглядеть именно так.