21 / 21 / 3
Регистрация: 13.09.2011
Сообщений: 314
|
|||||||||||
1 | |||||||||||
Класс поезд, и вокзал.24.03.2012, 14:20. Показов 9507. Ответов 15
Метки нет (Все метки)
Добрый день! Помогите пожалуйста с задачей.
Клаcс «ПОЕЗД» coдержит закрытые поля: номер пoезда, название пункта назначения, время отправления и метод вывoда сведений o поезде. Класс «ВОКЗАЛ» cодержит закрытые пoля: название вокзала, массив объектoв класса «ВОКЗАЛ», метод поиска информации о поездах, отправляющихся после введенного с клавиатуры времени и метод вывода информации о поездах, oтправляющихся в заданный пункт назначения. Инфoрмация должна быть отсoртирована по времени oтправления. Вот что у меня получилось:
Добавлено через 3 часа 5 минут Помогите отсортировать по времени отправления. Опять попытался что-то исправить...но наверное только хуже...
0
|
24.03.2012, 14:20 | |
Ответы с готовыми решениями:
15
Составить класс "Поезд", "Вокзал" Поезд отправляется в h1:m1, время в пути h2:m2. Во сколько прибывает поезд? Класс "Вокзал", сделать метод прибытия поезда Задача про поезд: будет ли поезд на платформе? |
133 / 133 / 29
Регистрация: 17.09.2010
Сообщений: 288
|
||||||
24.03.2012, 15:57 | 2 | |||||
Вася1q, код:
1
|
21 / 21 / 3
Регистрация: 13.09.2011
Сообщений: 314
|
|
26.03.2012, 22:57 [ТС] | 3 |
Огромное вам спасибо!
0
|
26.03.2012, 23:06 | 4 |
А вот какой смысл в топорном сокрытии любых полей класса, если их всё равно можно получить или изменить функцией геттером сеттером?
У Страуструппа был адекватный пример, когда сокрытие необходимо для сохранения логической связанности данных (там был класс "сумма чисел") А тут зачем лишние извращения с private???
0
|
Дмитрий3241
|
27.03.2012, 01:12
#5
|
Не по теме: Kuzia domovenok, просматривал темы, в 5 разных точно были сообщение с сылками на Страуструппа. Тут людям нужно помогать а не указывать, что где то, в какой то книге, кто то приводил пример.
0
|
133 / 133 / 29
Регистрация: 17.09.2010
Сообщений: 288
|
|
28.03.2012, 11:11 | 7 |
Kuzia domovenok,
0
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
28.03.2012, 11:41 | 8 |
Kuzia domovenok, Геттеры/сеттеры практически всегда делать логичнее, как минимум в "свойствах" можно реализовать бизнес-логику. И непрямой доступ куда проще отловить, если потребуется запретить изменения извне.
Добавлено через 37 секунд Дмитрий3241, А вы бред несете. Малоизвестный Страуструп... О да. Всего лишь создатель языка С++.
0
|
soon
|
28.03.2012, 11:48
#9
|
Не по теме: ForEveR, это писал Kuzia domovenok, в теме про комплексные числа. Причем это был явный сарказм, просто Дмитрий3241, не все процитировал
1
|
ForEveR
|
28.03.2012, 11:54
#10
|
Не по теме: soon, Понятно. Жаль, что не могу сообщение уже поменять)
0
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
28.03.2012, 12:14 | 12 | |||||
1
|
28.03.2012, 12:21 | 13 | |||||||||||||||
Ну а объяснить своими словами, чем именно это помогает программировать, никак да? Или единственное объяснение - "это хороший тон программирования, так большие дяди делают"...
Я говорю, если методы Get() Set() ничего не делают, кроме геттинга, сеттинга, проще вынести поля класса в public, потому что private поля безопасности всё равно никакой не добавляют. Никакого "хорошего тона" в них нет Сравни
Но этого нет. Тогда какой смысл в сеттерах, которые делают ровно то же, что мог бы сделать пользователь?
0
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
28.03.2012, 12:35 | 14 |
Kuzia domovenok, Дело в стиле. По хорошему в классе данные должны быть закрыты, если сущность обладает некоторым поведением, а не просто набор данных (структура). Ну это конечно ИМХО, но подкрепленное опытом.
Не задумывались почему в шарпе к примеру в основном происходит работа через свойства и никого это не напрягает?
0
|
5055 / 3115 / 271
Регистрация: 11.11.2009
Сообщений: 7,044
|
|
28.03.2012, 12:43 | 15 |
Kuzia domovenok, проблема в том, что идеальное проектирование изначально - утопия. Код всегда будет дописываться или переписываться. Сегодня геттеры/сеттеры просто возвращают/устанавливают значение? Ну и ну их нафиг, сделаем поля открытыми! А завтра понадобится проводить дополнительные проверки. Ой, беда, надо сеттеры/геттеры. Ой, а уже куча программистов используют наш класс и могут достучаться до полей прямым доступом. И что делать? Просить пользователей переписать тонны готового кода?
1
|
133 / 133 / 29
Регистрация: 17.09.2010
Сообщений: 288
|
|
28.03.2012, 13:03 | 16 |
Kuzia domovenok,
0
|
28.03.2012, 13:03 | |
28.03.2012, 13:03 | |
Помогаю со студенческими работами здесь
16
Создать базовый класс «Грузоперевозчик» и производные классы «Самолет», «Поезд», «Автомобиль» ООП: создать базовый класс «Транспорт» и производные от него классы «Автомобиль», «Поезд», «Самолет» Создать класс Поезд и Автомобиль Объявить класс «Вокзал» с указанием полей: название вокзала, местонахождение (название города), число направлений, поток пассажиров. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |