Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Андрей1926
0 / 0 / 1
Регистрация: 18.03.2015
Сообщений: 87
1

Ооп. Изучаю основы, обьясните на примере

25.04.2016, 11:44. Просмотров 238. Ответов 10
Метки нет (Все метки)

Класс: форум - сайт для общения. Объект форум - собственно любой форум. Тут все понятно.
Форумный движок тоже класс, соответственно каждый движок в отдельности - объект.


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

А что тогда сок разных фирм?
Получается что сок виноградный "Маша и медведь" это уже объект класса Сок "Маша и медведь"?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.04.2016, 11:44
Ответы с готовыми решениями:

Основы ООП [С++]
Немного знаю Java, написал программу которая по заданным 2-м сторонам и углом...

Основы ООП
Здраствуйте! Уже второй день пытаюсь разобраться и хорошего ответа так и не...

Знаю ли я основы ООП?
ООП я изучал но не применял, ну если не считать собственный класс string и...

Основы ООП, ввод данных
Собственно, осваивая основы ООП и выполняя заодно частичное задание с универа(1...

ООП Создание основы класса
Здравствуйте, получил задание, но немного недопонимаю как это сделать, с чего...

10
rikimaru2013
C++ Game Dev
2472 / 1141 / 348
Регистрация: 30.11.2013
Сообщений: 3,709
25.04.2016, 11:50 2
Класс - описание не существуещей сущности, которое заключается в перечислений полей и методов.
Объект/экземпляр - сущность под которую выделили память, и у неё есть тип. (тот самый тип к примеру, что мы описали выше).
0
Андрей1926
0 / 0 / 1
Регистрация: 18.03.2015
Сообщений: 87
25.04.2016, 11:56  [ТС] 3
То есть у обьекта еще есть и тип?
0
nimazzzy
Заблокирован
25.04.2016, 11:57 4
Не существует каких-то правил, чтобы было все однозначно. Все зависит от контекста.
Цитата Сообщение от Андрей1926 Посмотреть сообщение
Сок яблочный, виноградный и тд - это уже объекты как разновидность ятп...
Не обязательно. Тем, более, раз это "разновидность". Например, это может быть класс-наследник от обычного сока в упаковке. А может и да, просто объектом с отличающимся полем.
Цитата Сообщение от Андрей1926 Посмотреть сообщение
А что тогда сок разных фирм?
Получается что сок виноградный "Маша и медведь" это уже объект класса Сок "Маша и медведь"?
Не обязательно. Производитель может быть отдельным классом. Может быть enum'ом у объектов коробок сока. Может быть контейнером для сока. Может быть просто строкой в составе объекта сока в упаковке. Может быть полем-индексом массива производителей в объекте сока. И так далее. Все зависит только от того, как ты работаешь со своей областью.
0
mimicria
return (true);
1960 / 1097 / 219
Регистрация: 19.04.2011
Сообщений: 2,345
25.04.2016, 11:58 5
Цитата Сообщение от Андрей1926 Посмотреть сообщение
А что тогда сок разных фирм?
Можно в абстракции углубляться очень долго и бессмысленно, но при этом надо ответить себе на 1 вопрос - есть ли разница в работе с объектом сок "Маша и Медведь" и "Добрый" ? Если разницы нет, значит это просто свойство класса - название. Такое же, как свойство источника сока - яблочный, виноградный и т.д.
0
nimazzzy
Заблокирован
25.04.2016, 11:58 6
Цитата Сообщение от Андрей1926 Посмотреть сообщение
То есть у обьекта еще есть и тип?
Как ты думаешь, что такое class?
0
hoggy
Нарушитель
Эксперт С++
7084 / 3128 / 647
Регистрация: 15.11.2014
Сообщений: 7,194
Завершенные тесты: 1
25.04.2016, 12:20 7
Цитата Сообщение от Андрей1926 Посмотреть сообщение
Непонятно другое...
Есть сок в упаковке - это класс.
Сок яблочный, виноградный и тд - это уже объекты как разновидность ятп...
А что тогда сок разных фирм?
Получается что сок виноградный "Маша и медведь" это уже объект класса Сок "Маша и медведь"?
почитайте в книгах ещё раз о том,
что такое class
0
Stitch Igorek
47 / 47 / 31
Регистрация: 02.04.2016
Сообщений: 308
Завершенные тесты: 1
25.04.2016, 12:21 8
ну раз у начали про сок, приведу примеры с соком - есть сок(класс), есть сок в банке, сок в бутылке, сок в картонной пачке(тут уже интересно, это могут быть и объекты класса сок, а могут быть дочерние классы, от базового класса сок), представим что сок в пачке - это дочерний класс от класса сок, тогда в этом классе могут быть такие поля: Разновидность сока(яблочный, морковный и т.д.), Фирма производитель(Добрый, Любимый, или свой собственный), Объем этой самой пачки(0.5, литр или 3л). Но это еще не все, сок в пачке например, это может быть отдельный дочерний класс от базового "Сок", а может быть объект класса "сок" - Все зависит от твоей реализации.
0
Андрей1926
0 / 0 / 1
Регистрация: 18.03.2015
Сообщений: 87
25.04.2016, 13:11  [ТС] 9
Если я буду описывать класс - сок в упаковке (или просто сок) то там должны быть поля:
Производитель (Маша, Вася и тд)
Вкус (...)

nimazzzy, я так понимаю ответ на ваш вопрос имеет небольшое значение.

Добавлено через 26 минут
Stitch Igorek, спасибо за ответ. Про поля только сейчас прочитал... Только начал изучать программирование.

Сделал как у вас, только у меня нет разделения упаковки на банка, пачка и тд...

Подумал тут... У сока еще должна быть функция - "использовать" после которой переменная "мусор" увеличивается. То есть должен быть подсчет пустых коробок которые более не являются объектом сок.

Думаю тут все зависит от задачи в которой будет использоваться данный класс. Потому что задача не определена и возникают трудности...
0
Mr.X
Эксперт С++
3179 / 1706 / 435
Регистрация: 03.05.2010
Сообщений: 3,867
25.04.2016, 14:10 10
Цитата Сообщение от Андрей1926 Посмотреть сообщение
Класс: форум - сайт для общения. Объект форум - собственно любой форум. Тут все понятно.
Форумный движок тоже класс, соответственно каждый движок в отдельности - объект.
Непонятно другое...
Есть сок в упаковке - это класс.
Сок яблочный, виноградный и тд - это уже объекты как разновидность ятп...
А что тогда сок разных фирм?
Получается что сок виноградный "Маша и медведь" это уже объект класса Сок "Маша и медведь"?
Ну, из вашего сообщения понятно, что вы еще не освоили понятия класс и объект.
Класс - это тип. Объект класса - это переменная, типом которой является этот класс. Понятие "является разновидностью" реализуется через открытое наследование.
Если абстрактно, то класс описывает некоторое множество объектов. А объект этого класса - это конкретный элемент заданного множества.
Пример: класс дерево - описывает множество всех деревьев. Объект дерево - это конкретное дерево из этого множества. Разновидность дерева, например, хвойное дерево - это будет подмножество множества деревьев.
Реализуется как открытый наследник класса дерево.
0
Stitch Igorek
47 / 47 / 31
Регистрация: 02.04.2016
Сообщений: 308
Завершенные тесты: 1
25.04.2016, 14:13 11
Цитата Сообщение от Андрей1926 Посмотреть сообщение
Думаю тут все зависит от задачи в которой будет использоваться данный класс. Потому что задача не определена и возникают трудности...
В том то и дело, прежде чем делать класс(или объект) "Сок", нужно сначала подумать как его использовать.
Например в твоей программе, может и не понадобиться производитель или вкус, а по поводу "мусор++" когда выпил, так тут тоже двояко, не факт, что я не порежу твою пачку из под сока, и не посажу в ней рассаду=)
да и в любом случае - мусор - это уже не переменная класса Сок(ну точнее не должна быть ей), так мусор не только от сока образуется.
0
25.04.2016, 14:13
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.04.2016, 14:13

Основы ООП. Создание стека через класс
Приветствую всех пользователей форума. Относительно недавно начал осваивать...

Где могу прочитать про основы ООП?
Где могу прочитать про основы ООП?

Изучаю с++
Я начал учить с++ до этого выучил php,js. Но есть пару вопросов например...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru