![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 16.11.2010
Сообщений: 5
|
![]()
Здравствуйте всем.
Собственно сабж: Есть встроенная структура Код:
в классе есть метод, так вот вопрос: Как лучше организовать метод: Код:
Код:
Последний раз редактировалось Stilet; 16.11.2010 в 13:58. |
![]() |
![]() |
![]() |
#2 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
Перегрузи эту функцию. Пусть дает возможность и так и так делать.
I'm learning to live...
|
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 16.11.2010
Сообщений: 5
|
![]()
Сори что код не поставил(
Так зачем мне две функции с одинаковым функционалом? Мне кажется, что логичней передавть именно целиком объект, а не конкретные поля, чтобы избежать ошибок при вызове метода, поскольку, можно же и ошибиться в передаваемых полях. Я вот только не знаю, как это на производительности скажется? |
![]() |
![]() |
![]() |
#4 | ||
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Так удобней. Незачем если Вы будете пользовать код только сами и никто другой. Но тогда данный вопрос не должен возникать впринципе.
Цитата:
![]() Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
||
![]() |
![]() |
![]() |
#5 | ||
Новичок
Джуниор
Регистрация: 16.11.2010
Сообщений: 5
|
![]() Цитата:
Допустим, у Вас есть, объект куб, обладающий свойствами длина, ширина, высота, цвет, плотность, материал, и т.д. , но Вам нужно посчитать его объем. В этом случае можно передать в метод, сам объект, а можно только нужные для вычисления длину, ширину и высоту. В коде понятней будет, или так Код:
Код:
Цитата:
![]() |
||
![]() |
![]() |
![]() |
#6 | ||
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]() Цитата:
![]() Цитата:
И еще раз - куб не должен вычислять объем другого куба. Это кубам не свойственно. Этим должен заниматься кто-то другой, тогда и вероятность ошибки также снизится..
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() Последний раз редактировалось Utkin; 16.11.2010 в 14:37. |
||
![]() |
![]() |
![]() |
#7 | |
Новичок
Джуниор
Регистрация: 16.11.2010
Сообщений: 5
|
![]() Цитата:
![]() Самый подходящий пример в первом посте. Если не брать в расчет перегрузку, то какой бы Вы из двух методов (первого поста) выбрали. Я имел ввиду, что, объект, определенные поля которого мы передаем в функцию (что она с ним делает нас не касается), лучше передать целиком и пусть код внутри функции разбирается что с ним делать, а не передавать только нужные поля. Хотя, я уже запутался ![]() |
|
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
В твоем случае я бы оформил кубы отдельным юнитом (или как там для С++) Ввел бы дополнительный класс, например геометр, или правильней стереометр, который бы и занимался вычислением объемов кубов, шаров и т.д. То есть перегрузка была бы по объектам класса. Для твоего примера первый вариант. Если же оставлять все как есть у тебя, то оба варианта.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
#9 | |
Новичок
Джуниор
Регистрация: 16.11.2010
Сообщений: 5
|
![]() Цитата:
Забудь кубы) Я про самый первый пост. |
|
![]() |
![]() |
![]() |
#10 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]()
Оба варианта. Серьезно, мне так удобней.
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ООП. Как лучше поступить? | Kn793 | Свободное общение | 15 | 05.04.2010 09:59 |
ООП как лучше, и почему так. | optimist32 | Общие вопросы C/C++ | 6 | 15.11.2009 04:43 |
Паскаль ООП. Примеры программ с использованием ООП | SeЯgey | Помощь студентам | 5 | 13.05.2009 21:55 |