powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как понять трех китов :)
24 сообщений из 24, страница 1 из 1
Как понять трех китов :)
    #37659670
goodbenya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день. Вот настал тот день когда я столкнулся с 3-мя китами ООП. Ну насчет инкапсуляции все понятно вроде. Когда прочитал о наследовании тоже думал что все понятно, ну после прочитанного об полиморфизме...появилось уйма вопросов????
Насколько правильно я понимаю...К примеру есть два вида мячей(футбольный и баскетбольный)...Все они наследуют общий класс мяч(форму,вес...) а вот как их использовать-ИГРАТЬ(бить ногой или кидать рукой) это уже полимофизм?...
...
Рейтинг: 0 / 0
Как понять трех китов :)
    #37659682
svenom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да.
...
Рейтинг: 0 / 0
Как понять трех китов :)
    #37659714
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
goodbenyaа вот как их использовать-ИГРАТЬ(бить ногой или кидать рукой) это уже полимофизм?...
И ещё типичная ошибка проектирования модели. Играют игроки, а не мячи. А то, как результат такого подхода выйдет мяч, который сам себя играет, голы считает и ещё и на табло выводит.

Полиморфизмом в данном случае не легко применить. Можно футболисту дать баскетбольный мяч. Меняется только цвет и физические свойства. На поведение мяча это не отразится. Т.е. это два экземпляра класса Мяч, с разными значениями одних и тех же свойств. Полиморфизм же можно применить к игрокам. Потому что они, в отличие от мяча, обладают поведением. И у игроков поведение разное. Хотя все они люди.
...
Рейтинг: 0 / 0
Как понять трех китов :)
    #37659733
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://robocode.sourceforge.net/ - поиграйтесь с этим проектом.
У меня на сайте есть лабы для студентов - там раскрываются некоторые из основных приемов ООП.
...
Рейтинг: 0 / 0
Как понять трех китов :)
    #37659734
goodbenya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тогда для начал возьму более примитивно...Наследование отвечает за свойства объектов, а полиморфизм за действия над объектами?
припустим футболист, и мяч разное объекты...
...
Рейтинг: 0 / 0
Как понять трех китов :)
    #37659740
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
goodbenyaНаследование отвечает за свойства объектов, а полиморфизм за действия над объектами?
Нет. Наследование это возможность использовать состояние и поведение предка.
И зачем вы сконцентрировались на "действии над объектами". Оперируйте более простым понятием - "поведение". "Поведение" объекта это "действие" объекта, а не кого-то другого над ним.
...
Рейтинг: 0 / 0
Как понять трех китов :)
    #37659768
goodbenya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

ну просто и за того что что у полиморфизма типа определение "Один интерфейс для множества объектов"...ну в таком случаи для нашего примера нужно описать два поведение. Для игрока и для мяча(и это будет полиморфизм), и два родительских объекта(мяч и игрок) которые мы будем наледовать...?
...
Рейтинг: 0 / 0
Как понять трех китов :)
    #37659774
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
goodbenyaну просто и за того что что у полиморфизма типа определение "Один интерфейс для множества объектов"...ну в таком случаи для нашего примера нужно описать два поведение. Для игрока и для мяча(и это будет полиморфизм), и два родительских объекта(мяч и игрок) которые мы будем наледовать...?
Есть интерфейс - модель игрока - метод - "играть в мяч".
Есть игроки - они реализуют этот интерфейс. (будьте аккуратнее с терминологией, не знаю откуда вы взяли про "множество объектов")
Игрок в баскетбол реализует интерфейс одним способом, игрок в футбол - другим. Причем оба реализуют одно и тоже поведение - "играть в мяч", разными способами - полиморфизм.
...
Рейтинг: 0 / 0
Как понять трех китов :)
    #37659795
goodbenya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

Blazkowicz,

вот все в основном все понятно...правда АБСТРАКТНО-ну это уже завтра)а за терминологию вы правы для множества методов ...
...
Рейтинг: 0 / 0
Как понять трех китов :)
    #37659802
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
goodbenyaа вот как их использовать-ИГРАТЬ(бить ногой или кидать рукой) это уже полимофизм?...
как раз не совсем.
ведь игрок - зная что это - мяч, не обязан знать баскетбольный он или футбольный.(это и будет полиморфизм)


а вот если он пнет оба мяча ногой(с одинаковой силой), а они полетят по разному - это и будет полиморфизм.

т.е. игрок видит мяч, бьет одинаково - а летит мяч по разному.
...
Рейтинг: 0 / 0
Как понять трех китов :)
    #37659806
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
goodbenyaприпустим футболист, и мяч разное объекты...
продолжай, я заинтригован...
...
Рейтинг: 0 / 0
Как понять трех китов :)
    #37659816
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ZyK_BotaNт.е. игрок видит мяч, бьет одинаково - а летит мяч по разному.
Мячи разной массы и упругости летят по разному. Масса и упругость - свойства. Это очень не показательный пример.
...
Рейтинг: 0 / 0
Как понять трех китов :)
    #37659822
goodbenya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ZyK_BotaN,
на данном этапе я специально окончил свою мысль потому что я понял что чего то мне не хватает что бы понять более четко что есть что...ведь я не знаю что такое интерфейс в правильном понимании)
а то что я понял это то что... у мяча есть отдельный интерфейс(который позволит определить как он будет лететь...)и у игрока который позволит ему определить какой мяч выбрать(если футболист то футбольный а баскетболист-баскетбольный)....
...
Рейтинг: 0 / 0
Как понять трех китов :)
    #37659824
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczZyK_BotaNт.е. игрок видит мяч, бьет одинаково - а летит мяч по разному.
Мячи разной массы и упругости летят по разному. Масса и упругость - свойства. Это очень не показательный пример.
было бы "правильнее" сделать свойствами.

но кстати, у понятия "футбольный мяч" есть ограничения на свойства, которые не позволят сделать его идентичным "баскетбольному"

хотя про показательность примера спорить не буду. я его не с нуля придумал, а приведенный адаптировал.
...
Рейтинг: 0 / 0
Как понять трех китов :)
    #37659825
goodbenya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я так понял выбрал тяжелый пример...а можете дать ссылку на более простой или сами описать....P/s только желательно что бы это была не машина))))
...
Рейтинг: 0 / 0
Как понять трех китов :)
    #37659827
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
goodbenyaа то что я понял это то что... у мяча есть отдельный интерфейс(который позволит определить как он будет лететь...)
нет. интерфейс - как раз не позволти.
как он будет лететь - зависит от "реализации", которая у футбольного и баскетбольного - отличны.

а интерфейс, это то- что с мячом можно делать.

интерфейс задается абстрактному понятию "мяч".

например, то что мяч можно пнуть.

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

но тут уже выше сказали, что аналогия с мячами - очень не показательна.
нужно другую сочинить.
...
Рейтинг: 0 / 0
Как понять трех китов :)
    #37659828
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
goodbenyaя так понял выбрал тяжелый пример...а можете дать ссылку на более простой или сами описать....P/s только желательно что бы это была не машина))))
не тяжелый, а неподходящий.
...
Рейтинг: 0 / 0
Как понять трех китов :)
    #37659832
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
goodbenyaя так понял выбрал тяжелый пример...а можете дать ссылку на более простой или сами описать....P/s только желательно что бы это была не машина))))
http://docs.oracle.com/javase/tutorial/java/concepts/
...
Рейтинг: 0 / 0
Как понять трех китов :)
    #37659835
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
goodbenya,

если баскетбольным - буду играть баскетболисты(руками),
а футбольным - футболисты(ногами)

то здесь общего интерфейса нет, а значит они и не должны быть наследниками мяча, и никакого полиморфизма мы не наблюдаем.
...
Рейтинг: 0 / 0
Как понять трех китов :)
    #37659837
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как понять трех китов :)
    #37659857
goodbenya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ZyK_BotaN,
вот вот...просто это меня и завело в дебри...я просто сталкивался с наследованием уже...припустим машина наследовалась от машины(получала свойства МАРКУ, ОБЪЕМ ДВИГАТЕЛЯ...)и наследовало методы(движение вперед и назад)...и все это было наследованием...ну когда я прочел о полиморфизме у меня все представление сломалось.Я начал понимать что методы должны быть полиморфизмом....)и окончательно запутался..(
...
Рейтинг: 0 / 0
Как понять трех китов :)
    #37659907
Фотография ZyK_BotaN
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
goodbenya.Я начал понимать что методы должны быть полиморфизмом....)и окончательно запутался..(
методы должны быть полиморфными(т.е. реализацией некого интерфейса).

вот тебе пример из жизни:
шарикавая и геливая ручки.

у них есть идентичный интерйес - корпус ручки, но пишут они благодаря разным физ законом, да и результат на бумаге немного отличный.

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

хотя все аналогии натянуты, и к этой можно придраться.
...
Рейтинг: 0 / 0
Как понять трех китов :)
    #37659965
goodbenya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ZyK_BotaN,
спасибо....ну это именно то что я тоже думал...
...
Рейтинг: 0 / 0
Как понять трех китов :)
    #37659967
goodbenya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо всем кто мне помогал...)
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Как понять трех китов :)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]