Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Страуструп рвет на ж... волосы от зависти

11
15 июня 2009 года
oxotnik333
2.9K / / 03.08.2007
Определение класса C++ от Дафифы:
[quote=Дафифа]
Классы. Что такое классы? Чтобы вкратце ответить на этот вопрос возьмём к примеру тот же компонент C++builder/delphi. Что он имеет? Он имеет методы свойства и т.п., т.е. готовое использование, главное просто ещё уметь их использовать, а за этими свойствами компонента скрывается огромный код, который мы не видим. Теперь возьмём ту же функцию, лубую, написанныу на C++builder: void MyExecute() {...тут мы пишем код...}. Далее, нам не понадобится писать этот код много раз, а просто мы вызовем MyExecute(). Отсюда класс, это файл c++builder, в котором написанно неснолько функций. прикрепив к любому проекту которые, мы можем их использовать. Очень удобно, учитывая, что мы в отличие от компонентов, хотябы на наших классах, мы видим исходный код, открыв класс любым редактором.
[/quote]
Страницы:
14
15 июня 2009 года
Phodopus
3.3K / / 19.06.2008
ну эта пять.. атои все десять баллоф.
пысы. атои - эта функцыё цышное такои. наверное у дафифы она тож описана. не проверял.
7.4K
15 июня 2009 года
T...H
159 / / 28.12.2008
:D :D
ы...знакомый текст... - чё вам не понравилось?? :) :D
11
15 июня 2009 года
oxotnik333
2.9K / / 03.08.2007
Цитата: T...H
:D :D
ы...знакомый текст... - чё вам не понравилось?? :) :D


а вот и аффтор нашумевшего бестселлера!

9.3K
15 июня 2009 года
iridum
175 / / 26.08.2007
Отличный пиар нового портала по программированию :D
9
15 июня 2009 года
Lerkin
3.0K / / 25.03.2003
Страуструп рвет на жопе волосы... Дафифе!
7.4K
15 июня 2009 года
T...H
159 / / 28.12.2008
Цитата:
а вот и аффтор нашумевшего бестселлера!


ну так это ж я сайт для новичков создавал и написал понятным языком. будут они там разбираться в определениях, что такое классы, я для них написал - пусть пользуются... :) :D

11
15 июня 2009 года
oxotnik333
2.9K / / 03.08.2007
Цитата: T...H
ну так это ж я сайт для новичков создавал и написал понятным языком. будут они там разбираться в определениях, что такое классы, я для них написал - пусть пользуются... :) :D


не путай понятия "новичок" и "долбо...б"
почитав статьи можно из первого легко переквалифицироваться во 2-е

7.4K
15 июня 2009 года
T...H
159 / / 28.12.2008
ладн, исправлю....
9
15 июня 2009 года
Lerkin
3.0K / / 25.03.2003
Подредактирую подпись Дуфифы:
Цитата:

THBuilder.nov.ru - новый портал по программированию. Я - админ, заходите. Много всего! Обоссытесь!

87
15 июня 2009 года
Kogrom
2.7K / / 02.02.2008
немного позанудствую...

А почему именно Страуструп, а не Алан Кей или какие-нибудь создатели Симулы?

Да и вообще, интересно было бы послушать определения класса на простом языке от других, более опытных программистов. То есть, чтобы человек, слабо знакомый с ООП, понял. А то легко смеяться над убогим...

СлабО объяснить, что такое класс, что такое объект? Зачем они нужны? ;)

И Дафифе поможете и мне, и другим новичкам...
7.4K
15 июня 2009 года
T...H
159 / / 28.12.2008
Вот отредактировал:
http://thbuilder.nov.ru/index.php?option=com_content&view=article&id=5&Itemid=44
Что, прочитали, вы ещё ... не сломали?? :) :D
K\лично большинство не только ... сломают от такого определения....
9
15 июня 2009 года
Lerkin
3.0K / / 25.03.2003
Цитата: Kogrom
А то легко смеяться над убогим...


А никто не заставлял убогих лезть туда, куда собака хрен не сувала.

87
15 июня 2009 года
Kogrom
2.7K / / 02.02.2008
Цитата: T...H
Вот отредактировал:

Класс — это один из вариантов описания сущности, которая в теории программирования именуется абстрактным типом данных. Класс определяет скрытую внутреннюю структуру некоторого значения, а также набор операций, применимых к данному значению...



Ну, вот... финиш... все испортил...

7.4K
15 июня 2009 года
T...H
159 / / 28.12.2008
м да...сами напрашивались....
9
15 июня 2009 года
Lerkin
3.0K / / 25.03.2003
Цитата: Kogrom
Ну, вот... финиш... все испортил...


Дальше еще лучше:

Цитата:

...
Первая определяется как набор полей класса — элементов тех или иных ранее определённых типов, вторая — как набор сообщений, которые могут обрабатываться экземплярами данного класса.

87
15 июня 2009 года
Kogrom
2.7K / / 02.02.2008
Цитата: T...H
м да...сами напрашивались....



Не, ты сделал неправильно - вставил какую-то цитату. Кому она нужна? Новички от нее в ужаснутся, а опытные программисты и так знают.

Лучше осознай смысл и по второму кругу попытайся своими словами объяснить ;)

7.4K
15 июня 2009 года
T...H
159 / / 28.12.2008
Цитата:
Не, ты сделал неправильно - вставил какую-то цитату. Кому она нужна? Новички от нее в ужаснутся, а опытные программисты и так знают.

Лучше осознай смысл и по второму кругу попытайся своими словами объяснить


так дык я и сам знаю, а чё вы ржёте?? Что, господа профессионалы, а вам слабо дать грамотный понятный для всех определение что такое класс, а то лясы точить все могут....

240
15 июня 2009 года
aks
2.5K / / 14.07.2006
Цитата: Kogrom
немного позанудствую...

А почему именно Страуструп, а не Алан Кей или какие-нибудь создатели Симулы?

Да и вообще, интересно было бы послушать определения класса на простом языке от других, более опытных программистов. То есть, чтобы человек, слабо знакомый с ООП, понял. А то легко смеяться над убогим...

СлабО объяснить, что такое класс, что такое объект? Зачем они нужны? ;)

И Дафифе поможете и мне, и другим новичкам...


Да для навичков помоему у Буча стоит читать определение - вполне по человечески объясняется что это такое.
Да и наверно примерно так же и определил.

87
15 июня 2009 года
Kogrom
2.7K / / 02.02.2008
Цитата: T...H
а вам слабо дать грамотный понятный для всех определение что такое класс, а то лясы точить все могут....


Сейчас конечно все на книжки начнут ссылаться, но это не путь быдлокодера, который достиг дзена...

Попробую на примерах. Сначала надо дать понятие объекту. Объектом можно назвать практически любое существительное. При этом местоимение это указатель либо ссылка. Но это я отвлекся...

Например, T...H, Kogrom и т.д. - объекты.

Эти объекты являются, грубо говоря, экземплярами абстрактного класса люди. Или проще говоря - они являются людьми.

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

То есть, обычный человек мыслит как раз объектами и классами, в отличие от некоторых программистов...

Пойдет?

9
15 июня 2009 года
Lerkin
3.0K / / 25.03.2003
Цитата: Kogrom

Пойдет?


Конечно! В разЫ понятнее стало. :D А вообще, все аналогии лживы.

87
15 июня 2009 года
Kogrom
2.7K / / 02.02.2008
Цитата: Lerkin
А вообще, все аналогии лживы.


Поэтому настоящего ООП не бывает. Только лживое. Эх...

9.3K
15 июня 2009 года
iridum
175 / / 26.08.2007
Лженаука это всё, была ш статься что тот с++ был придуман как прикол, всех поимели)), и вообще Страуступ жил неизвестно в каком веке, и неизвество вообще кто он был на самом деле, алхимик наверное
3
15 июня 2009 года
Green
4.8K / / 20.01.2000
Цитата: oxotnik333
Определение класса C++ от Дафифы:


М-да... напомнило "великие труды" В.Гриненко.
К сожалению (а может, к счастью), статьи аффтора убраны с сайта vbnet.ru, видимо, подросли ребята, поумнели.
Но с помощью машины времени (http://www.archive.org/web/web.php) я отыскал эту чудо-статью: http://web.archive.org/web/20040606000138/http://vbnet.ru/article/showarticle.asp?id=94

Цитата:

Программисты работавшие ранее на VB всегда имели достаточно мутное представление о классах. Есть и другая категория людей. Таковые извлекают из своей головы целый вагон очень научных определений классов и определений связанных с объектной ориентированностью и наследованием, но проку от этих знаний нет никакого - теория совсем не используется на практике.

........................

На практике классовое программирование применяется очень редко (результаты исследований). И тому есть очень серьезные причины. Первое. Создавать класс необходимо с мыслью о том, что этот класс возможно будет когда-нибудь унаследован, а это требует дополнительных усилий. И второе. Вспомните пожалуйста, когда Вы документировали свою программу последний раз. Я думаю что очень многие читатели ответят так: вообще никогда. А без очень скрупулезного документирования функциональности, классы вообще ничего не стоят. Представьте себе гору из 6000 классов поставляемых с VSN, на которые нет ни строчки документации.

276
15 июня 2009 года
Rebbit
1.1K / / 01.08.2005
Цитата: Lerkin
Дальше еще лучше:


Дык собственно все путем. Так оно и есть. Вызов метода - сообщение от внешнего мира. Так оно и есть и понимать так удобно.

9
15 июня 2009 года
Lerkin
3.0K / / 25.03.2003
Цитата: Rebbit
Так оно и есть и понимать так удобно.


Ну, тогда мои поздравления.

87
15 июня 2009 года
Kogrom
2.7K / / 02.02.2008
Ну, я немного поленился в своем первом определении. А все из-за страха сказать ерунду. Но вообще, лучше высказать ерунду и понять, что это ерунда, чем держать ее в своих мыслях.

Итак. Попытка № 2.

Если представить, что программа состоит только из функций, то можно было бы программы создавать так: есть главная функция, она вызывает несколько второстепенных, те — еще какие-то и т.д., а потом все возвращается к главной. Была бы простая сетка.

Но в программах могут быть еще и переменные (данные). Как их встроить в структуру программы?

Если отделять данные от функций, то можно использовать глобальную базу данных, к которой обращаться каким-то хитрым образом. Например, главная функция может передать управление одной частью данных первой функции, другой части данных — второй. Те передадут своим дочерним функциям более раздробленные куски и т.д.

Однако, нужен какой-то принцип распределения переменным по функциям.

Например, можно вывернуть все на изнанку и присоединить определенные функции к определенным ячейкам данных. Такая ячейка и будет являться объектом. Однако, часто расточительно давать каждой ячейке определенную функцию. Экономнее давать определенную функцию классу ячеек (объектов).

Таким образом, класс — это модель, которая закрепляет определенные функции за определенными видами переменных.

Расточительно определять функцию только для определенного класса объектов. Поэтому придумали наследование, чтобы разделить одну функцию на несколько классов.

Есть еще такие понятия для класса, как инкапсуляция и полиморфизм, но их в данную модель я пока не могу занести.

Можно предположить, что за инкапсуляцией стоят определенные сообщения от программиста компилятору к каким данным как можно обращаться. И ничего более. А полиморфизм — более безопасный и понятный вид использования указателей на функцию. Но это не продуманные заявления.
241
15 июня 2009 года
Sanila_san
1.6K / / 07.06.2005
Не знаю, как насчёт бесполезности недокументированных классов, а вот что их не документирую чаще, чем могли бы - чистая правда. Сколько раз видел.:)
9
16 июня 2009 года
Lerkin
3.0K / / 25.03.2003
Kogrom, дружище. Ты умный. Ты очень умный. У тебя прекрасная фантазия и весомый словарный запас. Респекты тебе и зачоты. Но это... Я вот твою Попытку №2 прочитал (со 2-го раза), и... это... не, все нормально конечно, но... Если бы в самом начале изучения ООП, мне попалось твоё определение, я бы не смог наверное дальше читать, по причине заворота мозжечка... :D:D:D
3
16 июня 2009 года
Green
4.8K / / 20.01.2000
Теперь я попробую... :)

Класс - это "апельсин": снаружи оранжевый, а внутри кислый.
5
16 июня 2009 года
hardcase
4.5K / / 09.08.2005
Может создать тему про определение монады? Ато чет стандартное меня не устраивает
Цитата:

Монада - это всего лишь моноид из категории эндофункторов.

9
16 июня 2009 года
Lerkin
3.0K / / 25.03.2003
Цитата: Green

Класс - это "апельсин": снаружи оранжевый, а внутри кислый.


Совершенно верно. А концепцию наследования и полиморфизма заслуженно припишем Мичурину.

5
16 июня 2009 года
hardcase
4.5K / / 09.08.2005
Цитата: Lerkin
Совершенно верно. А концепцию наследования и полиморфизма заслуженно припишем Мичурину.


А как же старина Грегор Мендель с его законами?

303
16 июня 2009 года
makbeth
1.0K / / 25.11.2004
Цитата: Lerkin
Совершенно верно. А концепцию наследования и полиморфизма заслуженно припишем Мичурину.


А ишшо ведь есть и агрегация... :rolleyes:

9
16 июня 2009 года
Lerkin
3.0K / / 25.03.2003
Цитата: hardcase
А как же старина Грегор Мендель с его законами?



Цитата: makbeth
А ишшо ведь есть и агрегация... :rolleyes:


А вот Менделю и припишите агрегацию, ботаны хреновы. :D:D:D

9
16 июня 2009 года
Lerkin
3.0K / / 25.03.2003
Цитата: hardcase
Может создать тему про определение монады? Ато чет стандартное меня не устраивает


Да, меня тоже одно время плющило неформатно...

7.4K
16 июня 2009 года
T...H
159 / / 28.12.2008
Цитата:
Если представить, что программа состоит только из функций, то можно было бы программы создавать так: есть главная функция, она вызывает несколько второстепенных, те — еще какие-то и т.д., а потом все возвращается к главной. Была бы простая сетка.

Но в программах могут быть еще и переменные (данные). Как их встроить в структуру программы?

Если отделять данные от функций, то можно использовать глобальную базу данных, к которой обращаться каким-то хитрым образом. Например, главная функция может передать управление одной частью данных первой функции, другой части данных — второй. Те передадут своим дочерним функциям более раздробленные куски и т.д.

Однако, нужен какой-то принцип распределения переменным по функциям.

Например, можно вывернуть все на изнанку и присоединить определенные функции к определенным ячейкам данных. Такая ячейка и будет являться объектом. Однако, часто расточительно давать каждой ячейке определенную функцию. Экономнее давать определенную функцию классу ячеек (объектов).

Таким образом, класс — это модель, которая закрепляет определенные функции за определенными видами переменных.

Расточительно определять функцию только для определенного класса объектов. Поэтому придумали наследование, чтобы разделить одну функцию на несколько классов.


Вот видите, то же впринципе, что и я сначала написал, только разными словами............:):D Ток у меня всё понятно, а тут ппц

87
16 июня 2009 года
Kogrom
2.7K / / 02.02.2008
Цитата: T...H
Вот видите, то же впринципе, что и я сначала написал, только разными словами............:):D Ток у меня всё понятно, а тут ппц



Не совсем. Ты описал примерно то, что в Паскале (и в других языках) называют модулем. У тебя в эту структуру включены только функции. А как же данные? Где должны храниться переменные?

Пример. Есть объект Label, у него есть свойство Caption равное "Привет". Где хранится строка "Привет"? Неужто в файле с описанием функций?

87
16 июня 2009 года
Kogrom
2.7K / / 02.02.2008
Цитата: Lerkin
Если бы в самом начале изучения ООП, мне попалось твоё определение, я бы не смог наверное дальше читать, по причине заворота мозжечка... :D:D:D


Я немного увлекся. Что такое классы, объекты и т.д. можно, например, в Википедии прочитать, но совсем непонятно, зачем все это нужно, в чем выигрыш такого подхода. Пытался хоть себе объяснить. Думал выйдет по принципу "объяснял, объяснял, уже и сам понял, а они всё не понимают". Однако, пока и сам ничего не понял :)

7.4K
16 июня 2009 года
T...H
159 / / 28.12.2008
Цитата:
Неужто в файле с описанием функций?


а это разве не в оперативке хранится??

303
16 июня 2009 года
makbeth
1.0K / / 25.11.2004
Мда... а попкорн то уже заканчивается...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог