Форум программистов, компьютерный форум, киберфорум
Теория программирования
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.87/70: Рейтинг темы: голосов - 70, средняя оценка - 4.87
 Аватар для Chak-Nuris
2 / 2 / 1
Регистрация: 17.03.2015
Сообщений: 110

Зачем нужны объекты?

21.04.2015, 15:54. Показов 18010. Ответов 324
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Зачем нужны объекты?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.04.2015, 15:54
Ответы с готовыми решениями:

Зачем в начале файла utf-16 нужны байты 0XFF и 0XFE?
Друзья! Хоть убей не пойму, зачем перед строкой нужны байты 0xFF 0xFE. Везде можно прочесть, что они нужны, чтобы указать считывающему...

Зачем нужны хеш таблицы?
Подскажите, пожалуйста, зачем нужны хеш таблицы? Я так подозреваю, что они могут помочь найти образец в тексте, но тогда как их построить,...

Зачем нужны блок-схемы?
Приходилось слышать мнение, что блок-схемы строятся по программному коду для каких-либо целей, например, объяснения алгоритма работы...

324
Кандёхаем веселее!
 Аватар для MLPMan
296 / 330 / 76
Регистрация: 02.10.2012
Сообщений: 2,175
24.04.2015, 19:02
Студворк — интернет-сервис помощи студентам
korvin_, ей-богу, не понимаю. В рамках объектного подхода легко сделать метод, который будет возвращать одно и тоже при одних и тех же входящих параметрах. А если прогер в наращивает x, когда по идее не нужно этого делать, это что, недостаток ООП?
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
24.04.2015, 20:09
Цитата Сообщение от MLPMan Посмотреть сообщение
ей-богу, не понимаю
конечно, чтобы понимать надо знать
Цитата Сообщение от MLPMan Посмотреть сообщение
В рамках объектного подхода легко
... крутим цикл сначала. Что такое "объектный подход"? Формализм пожалуйста в студию. Объект - обычный lexical scope? пф
Цитата Сообщение от castorsky Посмотреть сообщение
После небольшого рефакторинга он будет конечно лучше.
автомат и небольшой рефакторинг кода
src
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
;; функция следующего состояния
(define (next-state state signal-in)
  (bit-or
   (shl 
    (bit-or
     (bit-and (bit-and 1 (shr (bit-xor #b10 state) 1))
              signal-in)
     (bit-and (shr (bit-and #b10 state) 1)
              (bit-and 1 (bit-xor 1 state))))
    1)
   (bit-and 
    (bit-and 1 (bit-xor 1 state))
    (bit-or
     (bit-and (bit-and 1 (shr (bit-xor #b10 state) 1))
              (bit-xor 1 signal-in))
     (shr (bit-and #b10 state) 1)))))
 
;; автомат
(let ((signals '(0 0 0 1 1 0 0 1 0 1 0 0 1 0 0 1)))
  ;; state - состояние, инициализируется нулем
  ;; signals - список входных сигналов
  (let loop ((state 0) (signals signals))
    (if (null? signals)
        '()
        (cons (string-append "st-" (number->string state)) ; формируем выходной сиггнал
              (loop (next-state state (first signals)) ; крутим автомат
                    (rest signals))))))
;'("st-0" "st-1" "st-0" "st-1"
;  "st-2" "st-3" "st-0" "st-1"
;  "st-2" "st-3" "st-0" "st-1"
;  "st-0" "st-2" "st-3" "st-0")
Изображения
 
0
Кандёхаем веселее!
 Аватар для MLPMan
296 / 330 / 76
Регистрация: 02.10.2012
Сообщений: 2,175
24.04.2015, 20:34
Цитата Сообщение от castorsky Посмотреть сообщение
Что такое "объектный подход"
Когда нету никаких функций, а тока методы объектов.
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
24.04.2015, 20:35
это...
Цитата Сообщение от castorsky Посмотреть сообщение
Формализм пожалуйста в студию
0
Кандёхаем веселее!
 Аватар для MLPMan
296 / 330 / 76
Регистрация: 02.10.2012
Сообщений: 2,175
24.04.2015, 20:42
castorsky, какой ещё формализм? Как начинали за этот посторонний эффект, то просто говорили без всяких формализмов, а тут вдруг подавай. Почему моё предыдущее уточнение не взлетает, недостаточно формалистическое?
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
24.04.2015, 20:46
Цитата Сообщение от MLPMan Посмотреть сообщение
Как начинали за этот побочный эффект, то просто говорили без всяких формализмов, а тут вдруг подавай.
пофиксил. Тред не читай, сразу отвечай, да?
Цитата Сообщение от MLPMan Посмотреть сообщение
Почему моё предыдущее уточнение не взлетает, недостаточно формалистическое?
Это философия. Ее можно читать, над ее высказываниями можно размышлять. Но ее, черт возьми, никак нельзя применить в инженерной практике. Нашему брату алгебру подавай и доказательства, а не "восприятие мира". xD
0
Кандёхаем веселее!
 Аватар для MLPMan
296 / 330 / 76
Регистрация: 02.10.2012
Сообщений: 2,175
24.04.2015, 20:57
castorsky, но ООП широко применяется на практике, в т.ч. вашим/нашим братом, несмотря на отсутствие формальной теории.

Цитата Сообщение от castorsky Посмотреть сообщение
Это философия.
Какая же это философия? Сначала написали, что проблема использования объектов - побочные эффекты, на что я ответил, что можно написать код и без таковых. Вот если бы мы обсуждали, какой из подходов более "нативный" для человеческого рассудка - это было бы философствование.
0
Эксперт функциональных языков программированияЭксперт Java
 Аватар для korvin_
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
24.04.2015, 21:15
Цитата Сообщение от MLPMan Посмотреть сообщение
Когда нету никаких функций, а тока методы объектов.
Что такое «метод»? Что такое «объект»?

Цитата Сообщение от MLPMan Посмотреть сообщение
ей-богу, не понимаю. В рамках объектного подхода легко сделать метод, который будет возвращать одно и тоже при одних и тех же входящих параметрах. А если прогер в наращивает x, когда по идее не нужно этого делать, это что, недостаток ООП?
Речь не про нужно/ненужно. Если нужно, делай, просто это называется «побочным эффектом». Это определение. Нужно ли облакам лить воду (дождь)? Тем не менее, многие льют, и это называется дождём.

Добавлено через 2 минуты
Цитата Сообщение от MLPMan Посмотреть сообщение
но ООП широко применяется на практике
Естественно, ведь в его пиар было вложено много денег и сил. Навозные мухи питаются навозом на практике, и что? Я тут не сравниваю ООП с навозом, я намекаю, что фразы, типа «широко применяется на практике» не является обоснованием чего-либо. Насколько широко на практике применяется квантовая механика? А пена для бритья?
0
24.04.2015, 21:27

Не по теме:

Цитата Сообщение от korvin_ Посмотреть сообщение
Т.е. ты считаешь, что императивное программирование — это «детские ошибки начинающих программистов»? Ок.
Я считаю что те примеры некорректной программ происходят в результате "детских" ошибок.
Цитата Сообщение от korvin_ Посмотреть сообщение
Так вот как твоё поведение называется — симулирование понимания? Надо запомнить.
В плане распознования такого поведения.

0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
24.04.2015, 21:29
Цитата Сообщение от MLPMan Посмотреть сообщение
но ООП широко применяется на практике
Лемминги не могут ошибаться, ага.
Цитата Сообщение от MLPMan Посмотреть сообщение
Сначала написали, что проблема использования объектов - побочные эффекты
Разговор о побочных эффектах зашел сам по себе. Проблема использования объектов - это их наличие вообще.

Добавлено через 1 минуту
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Я считаю что те примеры некорректной программ происходят в результате "детских" ошибок.
Поведение примеро вполне логичное, предсказуемое и осознанное. Просто это поведение достигается с помощью побочных эффектов. И всё. Нет там ошибок.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
24.04.2015, 21:31
Цитата Сообщение от korvin_ Посмотреть сообщение
Да, так и было задумано. И это называется побочным эффектом.
В таком случае кода без побочных эффектов не существует по определению. Т.к. любой код в процессе выполнения изменяет значения счетчиков cs:ip и ss:sp (как минимум).
0
 Аватар для IrineK
2023 / 1641 / 425
Регистрация: 23.02.2011
Сообщений: 6,002
Записей в блоге: 25
24.04.2015, 21:32
Цитата Сообщение от korvin_ Посмотреть сообщение
Насколько широко на практике применяется квантовая механика?
Во всём, что имеет приставку "нано".
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
24.04.2015, 21:41
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
В таком случае кода без побочных эффектов не существует по определению. Т.к. любой код в процессе выполнения изменяет значения счетчиков cs:ip и ss:sp (как минимум).
Мы все тут говорим об абстракциях высокого уровня. Кроме того между ЯВУ и опкодами есть компилятор, и несмотря на то, что мы часто можем явно манипулировать регистрами, они от нас скрыты. Т.е. по сути не являются объектами манипуляций программиста, хотя и возможность такая всегда есть.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
24.04.2015, 22:06
А когда вы значение в стек заносите (например вызываете функцию) вы значения счетчиков не меняете?

Добавлено через 1 минуту
Цитата Сообщение от castorsky Посмотреть сообщение
Поведение примеро вполне логичное, предсказуемое и осознанное. Просто это поведение достигается с помощью побочных эффектов. И всё. Нет там ошибок.
Если в коде нет ошибок и он выполняет задачу как он может быть плохим или некашерным?
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
24.04.2015, 22:09
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
А когда вы значение в стек заносите (например вызываете функцию) вы значения счетчиков не меняете?
Я - нет. Замечу что именно с этой целью были созданы ЯВУ. Любой ООП язык является ЯВУ, следовательно термин объект в рамках ООП можно рассматривать только в рамках терминов и концепций ЯВУ.

Добавлено через 1 минуту
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Если в коде нет ошибок и он выполняет задачу как он может быть плохим или некашерным?
Никто не говорил что он плохой или не кошерный. Это термин такой просто. Вы о нем ничего не знаете, потому что мало занимаетесь развитием своих профессиональных навыков. =))
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
24.04.2015, 22:30
Цитата Сообщение от castorsky Посмотреть сообщение
Вы о нем ничего не знаете, потому что мало занимаетесь развитием своих профессиональных навыков. =))
Профессиональные навыки - это то что позволяет зарабатывать финансы. По определению слова профессия. А для того чтобы зарабатывать финансы необходимо писать код который таки решает задачи. если по вашему код который использует операции ввода-вывода нечистый - ну считайте там себе что то ради самого счета чистым кодом (т.е без ввода и вывода данных).

Добавлено через 2 минуты
Цитата Сообщение от castorsky Посмотреть сообщение
Никто не говорил что он плохой или не кошерный
Ну вы же говорили что он нечистый. По еврейски (не кашерный)
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
24.04.2015, 22:40
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
если по вашему код который использует операции ввода-вывода нечистый - ну считайте там себе что то ради самого счета чистым кодом
Я так не считаю, это термин такой. И я его не придумывал =))
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Ну вы же говорили что он нечистый.
Так я всегда думаю что говорю и от слов своих не отказываюсь. Я даже цитату с cplusplus.com приводил. И свою трактовку "чистоты" (как ответ на Ваш вопрос). Так что Вы что-то путаете.

Добавлено через 7 минут
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Профессиональные навыки - это то что позволяет зарабатывать финансы.
С Ваших слов (про программирование графики, сделки с буржуями и т.д.) я сделал вывод что Вашей основной профессией является программирование. Я ошибся?
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
24.04.2015, 22:45
Цитата Сообщение от castorsky Посмотреть сообщение
С Ваших слов (про программирование графики, сделки с буржуями и т.д.) я сделал вывод что Вашей основной профессией является программирование. Я ошибся?
Ну пока что так получается. Сколько я бы не говорил по поводу софта - с меня хватит, делаю только инструменты для себя, приходится и на заработок.

Добавлено через 1 минуту
Цитата Сообщение от korvin_ Посмотреть сообщение
Естественно, ведь в его пиар было вложено много денег и сил
Вернее ООП позволило применять меньше усилий для решения многих задач.
0
 Аватар для castorsky
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
24.04.2015, 22:55
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Вернее ООП позволило применять меньше усилий для решения многих задач.
Но не избавиться от существующих дефектов модели, а скрыть их. Я еще тогда понял что эти плюсисты меня пытаются надуть =))

Добавлено через 3 минуты
Fulcrum_013, кстати покажите как Вы видите реализацию заданного выше автомата с помощью ООП. Продемонстрируйте, так сказать.
0
 Аватар для Fulcrum_013
2083 / 1576 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
24.04.2015, 22:56
Цитата Сообщение от castorsky Посмотреть сообщение
Но не избавиться от существующих дефектов модели, а скрыть их. Я еще тогда понял что эти плюсисты меня пытаются надуть =))
Дефекты модели - это недопонимание задачи. И от этого не лечат ни компилятор ни парадигма. А если научатся лечить - то с профессией программиста будет покончено, как с профессией водителя лифта.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
24.04.2015, 22:56

Что такое классы и зачем они нужны?
Здравствуйте! Объясните ,что такое классы и зачем они нужны? Я прочитал кучу всего про классы, но так и не понял, зачем они нужны.

Зачем биты нужны это меньше байтов но int 32 бита но я не допер зачем это нужно это 4 байта то есть int не может больше 4 байт весить?
Вот еще один вопрос зачем биты нужны это меньше байтов но int 32 бита но я не допер зачем это нужно это 4 байта то есть int не может...

Зачем упаковывать структуры и объекты в интерфейсы?
Объясните пожалуйста кто-нибудь человеческим языком зачем упаковывать структуры и объекты в интерфейсы?

Зачем нужны классы?
Изучаю СИ++ после изучения СИ. Не пойму какой смысл в классах. То что они делают можно реализовать с помощью функций, структур и обычных...

Зачем нужны исключения
Пожалуйста можете привести пример, когда они действительно нужны? На лекции были примеры "деление на ноль",...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
200
Ответ Создать тему
Новые блоги и статьи
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru