Абстрактные классы | зачем нужны абстрактные методы | abstract c# | полиморфизм | C# ООП | # 76

  Рет қаралды 93,350

#SimpleCode

#SimpleCode

Күн бұрын

В этом уроке мы продолжим изучение темы полиморфизма в ООП в языке программирования C# и коснёмся темы абстракции. Выясним что такое абстрактные классы, абстрактные методы, абстрактные свойства, для чего они нужны как используются и как связаны с полиморфизмом в си шарп.
✅ ИСХОДНЫЙ КОД / iskhodnyi-kod-k-49642793
🔹 Telegram канал t.me/SergeySimpleCode
🔹 Наша группа ВК smplcode
✅ Доступ к исходному коду и спонсорство / simplecode
✅ donatepay.ru/don/SimpleCode
✅ BTC кошелек: 12oYfJnvt76wjJbpvfhM41m6KPz6uz4LD4
✅ Подписывайтесь на канал / @simplecodeit
🔹 C# свойства get set | ключевое слово value | автоматические свойства c# | ООП C# Урок | # 62 • C# свойства get set | ...
🔹 Полиморфизм | виртуальные методы c# | virtual override c# | C# ОТ НОВИЧКА К ПРОФЕССИОНАЛУ | # 75 • Полиморфизм | виртуаль...
00:00 ► что будет в уроке
00:40 ► абстракция и абстрактный класс в си шарп
04:05 ► абстрактный метод в си шарп
06:40 ► переопределение абстрактного метода в классе наследнике
09:12 ► полиморфизм в чистом виде
11:22 ► конкретная реализация методов в абстрактном классе
13:23 ► абстрактные свойства и их переопределение
#сишарп #simplecode #урокипрограммирования

Пікірлер: 159
@SimpleCodeIT
@SimpleCodeIT 3 жыл бұрын
Cамый лучший способ сказать "спасибо" - поставить лайк и и поделиться уроком с друзьями. Это очень мотивирует создавать полезные уроки =) ✅Доступ к исходному коду и спонсорство www.patreon.com/SimpleCode ✅ donatepay.ru/don/SimpleCode ✅BTC кошелек: 12oYfJnvt76wjJbpvfhM41m6KPz6uz4LD4
@anastasiakim641
@anastasiakim641 3 жыл бұрын
Здравствуйте. Сколько всего уроков будет?
@gupishayvi4341
@gupishayvi4341 3 жыл бұрын
Будут ли отдельные видео по пятерному проектированию ? Порождающие, Структурные, Поведенческие. Паттерны разработки: MVC vs MVP vs MVVM vs MVI? SOLID?
@GODNET-qe3mu
@GODNET-qe3mu 3 жыл бұрын
@@gupishayvi4341 DRY KISS YAGNI :)
@user-hm1rn2ed9r
@user-hm1rn2ed9r 3 жыл бұрын
отлично объяснил , даже пересматривать не пришлось , лайк бро
@user-bp9yp5so6e
@user-bp9yp5so6e Жыл бұрын
Восхищает не только отличная подача материала, но и Ваша точность в описании звуков разных видов оружия:D
@glist119
@glist119 3 жыл бұрын
Лучшая часть понедельника
@user-lx5vv3uu8u
@user-lx5vv3uu8u 3 жыл бұрын
Сергей, приветствую тебя! Благодарю!
@KOKERzeroZEROseven
@KOKERzeroZEROseven Жыл бұрын
Понял материал весьма абстрактно...
@crossbow258
@crossbow258 3 жыл бұрын
А я ломал голову что такое полиморфизм, спасибо огромное, если что-то мне не ясно я к тебе обращаюсь, спасибо за уроки
@GODNET-qe3mu
@GODNET-qe3mu 3 жыл бұрын
Спасибо большое!
@slavaukharikkim4833
@slavaukharikkim4833 3 жыл бұрын
Спасибо!!! Ещё не дошёл до этого урока, но дорогу осилит идущий
@youchinafriend
@youchinafriend 2 жыл бұрын
Дошёл?)
@slavaukharikkim4833
@slavaukharikkim4833 2 жыл бұрын
@@youchinafriend естественно )) Но столкнулся с новой проблемой )
@youchinafriend
@youchinafriend 2 жыл бұрын
@@slavaukharikkim4833 понятно))
@saints_man
@saints_man 2 жыл бұрын
@@slavaukharikkim4833 какая проблема?)
@slavaukharikkim4833
@slavaukharikkim4833 2 жыл бұрын
@@saints_man никак не могу ввести в работу новые техники. Например, знаю про ООП и про делегаты с событиями и а начать их применять на автомате не получается. Крч нужно больше практики
@dimasavukov6230
@dimasavukov6230 3 жыл бұрын
Сергей, огромное спасибо! Твои уроки это больше чем уроки..!
@blackgolddev4023
@blackgolddev4023 3 жыл бұрын
Как всегда шикарно. Просто и понятно. Вы лучший.
@user-ob7iy9ws6b
@user-ob7iy9ws6b 3 жыл бұрын
Спасибо большое за урок!
@Antonov_Ivan.
@Antonov_Ivan. 17 сағат бұрын
Спасибо за урок!
@user-li5ls7gu5z
@user-li5ls7gu5z 3 жыл бұрын
стрельба из лука - чпуньк! ну, очень враждебно и устрашающе)))))
@Beyfus.Yakov.Official
@Beyfus.Yakov.Official Жыл бұрын
Именно с таким звуком стреляют в Worms) Также ржал от "пыщ-пыщ" в уроке про инкапсуляцию))
@fgddgdf9437
@fgddgdf9437 3 жыл бұрын
Подача материала отличная! Сергей, вы супер! Хотелось бы побольше домашних заданий на тему ооп, чтобы материал лучше усваивался =)
@meelstorm90
@meelstorm90 3 жыл бұрын
Огромное спасибо за урок!!
@ivannebyshynets8829
@ivannebyshynets8829 3 жыл бұрын
Спасибо тебе огромное, Сергей!
@egorkalmykov4003
@egorkalmykov4003 3 жыл бұрын
Спасибо огромное за полезнейшие уроки !!!
@rm5643
@rm5643 3 ай бұрын
Спасибо за уроки. Очень крутой преподаватель! Грустно, планы озвучены еще 2 года назад, но из-за сами знаете чего они пока не сбываются. Автор я надеюсь, с Вами и Вашей семьей все хорошо.
@adamadamesko9759
@adamadamesko9759 3 жыл бұрын
Весьма добротно, как всегда!
@ShomLZ
@ShomLZ 3 жыл бұрын
Благодарю за видео, как всегда лаконично и информативно.
@user-ev5lo3dy1m
@user-ev5lo3dy1m 3 жыл бұрын
спасибо за уроки !
@ifelru
@ifelru 2 жыл бұрын
Спасибо за отличные уроки!
@user-gn3ei9ef2q
@user-gn3ei9ef2q 3 жыл бұрын
Спасибо!
@dizmo..
@dizmo.. 3 жыл бұрын
Спасибо за урок! Как всегда на высоте, но очень давно не было домашнего задания.
@VADIM-SOLOV
@VADIM-SOLOV 2 жыл бұрын
Отличный урок! Выражаю огромную благодарность автору!
@3x__
@3x__ 3 жыл бұрын
спасибо за урок!
@user-ch6wy5xr2g
@user-ch6wy5xr2g 3 жыл бұрын
Как вы понятно и доступно излагаете материал, огромное вам спасибо.
@supermegaok
@supermegaok 2 жыл бұрын
Спасибо за бесплатные и понятные уроки
@user-xs3kf9tx1m
@user-xs3kf9tx1m 2 жыл бұрын
Очередной поддерживающий комментарий для развития канала. Сергей, безмерное спасибо за такую подачу материала, четко, ясно и понятно
@user-yv1kn9mn3c
@user-yv1kn9mn3c 8 ай бұрын
Это гениально, а подача материала на высоте, как и всегда. Спасибо вам
@slavaukharikkim4833
@slavaukharikkim4833 3 жыл бұрын
Вкусный урок!!! Я наконец дошёл до него)) спасибо за книги, Шилдт помогает)
@KlevaGameS
@KlevaGameS 6 ай бұрын
Благодарю за Урок.
@broalan
@broalan Жыл бұрын
Охрененно! Как все красиво, логично и просто, если разобраться 😂 Спасибо, Сергей за отличную подачу 🙌🏻
@user-kz4xm7zk5c
@user-kz4xm7zk5c 3 жыл бұрын
Благодарствую!
@user-hq7qo3rx4j
@user-hq7qo3rx4j 3 жыл бұрын
Отличное видео!
@user-od8mn6ns2z
@user-od8mn6ns2z 2 жыл бұрын
Блин , оно всё понятно в начале урока , но когда добавляется больше строк , то немного всё равно путаюсь. Спасибо за урок! Крутая информация )
@_chill_relax_calm4647
@_chill_relax_calm4647 2 жыл бұрын
Поддерживающий комментарий для дальнейшего развития канала. Вы чрезвычайно понятно все объясняете
@user-nh1lp8xt4j
@user-nh1lp8xt4j 2 жыл бұрын
Класс. Очень крутой урок получился.
@fgddgdf9437
@fgddgdf9437 3 жыл бұрын
Лучший,спасибо!
@user-nw8sn5gf9e
@user-nw8sn5gf9e Жыл бұрын
Большое спасибо за этот урок и все предыдущие уроки , все сделано с сердцем и это чувствуеться , что учителю не все равно поймешь ты или нет . От души благодарю !
@user-bq1vr3fp7q
@user-bq1vr3fp7q 2 жыл бұрын
Отличное видео, спасибо!
@leskhanmuratuly5374
@leskhanmuratuly5374 2 жыл бұрын
Спасибо вам Сергей.
@erikedit8323
@erikedit8323 2 жыл бұрын
Спасибо за уроки! =)
@didarkamiljanow4488
@didarkamiljanow4488 2 жыл бұрын
Сергей ты Супер, классный урок все четко обяснил, спасибо за урок
@mamankastudio379
@mamankastudio379 3 жыл бұрын
МОЛОДЕЦ ПРОДОЛЖАИИИИ ! ТЫ ПОМОЖЕН МНОООГИМ
@oilondabeats9011
@oilondabeats9011 2 жыл бұрын
*Очень хорошо обьяснил ! спасибо*
@sergei8750
@sergei8750 3 жыл бұрын
Как понять когда выбирать abstract class, а когда просто класс от которого потом будем наследоваться? Разница лишь в том, что если я не сделаю override у наследника то класс родитель подставит СВОЮ РЕАЛИЗАЦИЮ методов, а абстрактный класс будет требовать чтобы обязательно было переопределение?
@alexandervotyakov
@alexandervotyakov 2 жыл бұрын
Верно. Ну и вообще нельзя сделать экземпляр абстрактного класса.
@wienswladimir6734
@wienswladimir6734 10 ай бұрын
Просто класс👍
@Sabouter4ik
@Sabouter4ik Жыл бұрын
Дуже класне пояснення матеріалу, все дуже доступно і зрозуміло.
@user-qp5gu8zg4y
@user-qp5gu8zg4y 2 жыл бұрын
Подача материала отличная! Сергей, вы супер! Хотелось бы побольше домаш
@GanovAlex
@GanovAlex 3 жыл бұрын
пальцы вверх, спасибо!!!
@angelldark6426
@angelldark6426 2 жыл бұрын
Класс. Больше уроков связаны с играми )))
@HeIvis
@HeIvis Жыл бұрын
Как не зайдешь - всегда топовые примеры.
@PS-vj6jz
@PS-vj6jz 3 жыл бұрын
Хорошие видео)
@sergeynovikov7049
@sergeynovikov7049 3 жыл бұрын
Ура!
@blackwolf4516
@blackwolf4516 2 жыл бұрын
Успехов вам, надеюсь что вы продолжаете вести свой канал
@mastervolodsobeck5176
@mastervolodsobeck5176 Жыл бұрын
Программирование хобби, сильно помогли, сенк.
@Blackheart9511
@Blackheart9511 3 жыл бұрын
Лучший!
@ionportas8227
@ionportas8227 Жыл бұрын
Спасибо!!!
@DD0S2
@DD0S2 3 жыл бұрын
спасибо
@realjohnsmith412
@realjohnsmith412 Жыл бұрын
Спасибо
@donlinoleum831
@donlinoleum831 3 жыл бұрын
ждем теперь про интерфейсы)
@user-lq6ml3rm3e
@user-lq6ml3rm3e 2 жыл бұрын
Замечательно
@adeya6396
@adeya6396 2 жыл бұрын
Спасибоо!
@Neroz49rujka
@Neroz49rujka 2 жыл бұрын
well done !
@DonnaDinaMusic
@DonnaDinaMusic 2 жыл бұрын
вы хороший 🥺
@quazar-kek2649
@quazar-kek2649 Жыл бұрын
Дякую за урок)
@tesarotawer4390
@tesarotawer4390 3 жыл бұрын
Еее, еще один топ видосик от топ человека!) Я как посмотрел твое видео про книги по с#, у меня в голове появился вопрос. Ты случаем не делаешь материал по книге Троелсена и Джепикса?)
@pussysultan
@pussysultan 3 жыл бұрын
Сегодня начинаю изучать язык c# и решил посмотреть, сколько людей добралось до конца, сколько вообще оказалось настойчивых)) 2.5к людей всего. Не густо, хехех.
@MrSevenseven7
@MrSevenseven7 2 жыл бұрын
Ну как? Сам-то оказался настойчивым?
@pussysultan
@pussysultan 2 жыл бұрын
@@MrSevenseven7 мне не хватало места на диске, чтобы установить все нужное, поэтому я прекратил обучение, хотя очень хотелось дальше учиться. Но по итогу со временем я понял, что душа у меня лежит к другой сфере, коей я и занимаюсь уже. Но программирование интересно, может, как-то однажды изучу язык.
@andruhaofficial
@andruhaofficial 3 жыл бұрын
Лайк не глядя! шутка, конечно же я посмотрел 🙃
@blackwolf4516
@blackwolf4516 3 жыл бұрын
А как наследовать конструктор от абстрактного класса? Я понимаю, что он не наследуется. А как его тогда переопределять? Я сейчас ни на одном сайте такой информации не нашел, а VS не делает это автоматически...
@musicspace8894
@musicspace8894 3 жыл бұрын
Здравствуйте Сергей! Подскажите пожалуйста как правильно заниматся по Вашим урокам я сейчас изучаю базовый С++, и хотелось бы услышать от Вас какой-нибуть совет на эту тему, как лучше практиковатся, может какие- то дополнительные материалы брать в качестве задачников или сайтов. Буду благодарен за любой совет!
@user-rv8po7sx6y
@user-rv8po7sx6y 3 жыл бұрын
Эх встретимся через неделю ((
@user-vk8uz5zt4d
@user-vk8uz5zt4d Жыл бұрын
великолепно. И массив типов данных между делом, и сама выполненная реализация абстрактного класса. Похоже на централизованное управление наследниками с базового класса. Честно говоря и в ранее упомянутом Троелсоне и Шилдте такого уровня развёрнутых примеров не было, все как-то слишком академично, сухо, мало листингов. Поэтому особой пользы чтение этих книг не принесло (размазанная теория не давала точечно изучить и отладить изучаемые вещи). Здесь же дается самое главное, сам образ мышления программиста. Показана красота решения казалось бы простейшей задачи, так чтобы оно было легко управляемым и самое главное легко поддерживаемым. Что-то примерно подобное я встречал лишь в практикуме c# Зиборова, там тоже присутствует простота, эффективность и лаконичность кода.
@shadowcode7752
@shadowcode7752 3 жыл бұрын
Абстрактные методы и в интерфейсах храняться. И сделай сравнение абстрактных классов и интерфейсов.
@tutnichego4973
@tutnichego4973 3 жыл бұрын
С функциональной точки зрения, если не требуется никакие дополнительные данных в виде полей, конструкторов и т.д. - используются интерфейсы.
@TheHardPotter
@TheHardPotter 3 жыл бұрын
Для полноты картины надо было еще в player добавить свойство health и метод hit {health - damage}
@undarkyt
@undarkyt 3 жыл бұрын
доброго времени суток. что делать если win-defender (Smart screen) жалуется на то, что мои проги - вирусы. что на C#, что на C++. (не хотелось бы его отключать. может есть какой-то код или упаковщик и т.д)
@user-ok8ni3dx2c
@user-ok8ni3dx2c 3 жыл бұрын
лично я отключаю
@Shuhret
@Shuhret 3 жыл бұрын
Спасибо вам за ваши отличные уроки! Будут ли в уроки по WPF?
@GODNET-qe3mu
@GODNET-qe3mu 3 жыл бұрын
Си шарп плюшки
@smaks7767
@smaks7767 3 жыл бұрын
Здравствуйте Сергей! Я новичок и начал изучать С# по Вашим урокам. В принципе дается легко, думаю за 3-4 месяца осилю. Вопрос в том нужно ли после С# изучать еще языки или этого для начала будет достаточно чтобы начать что то зарабатывать и в процессе дальше учится? И еще: доступ к Вашему исходному коду сильно повлияет на процесс учебы? Заранее Спасибо!
@MacKorWoT
@MacKorWoT 3 жыл бұрын
не достаточно выучить просто синтаксис языка, надо, во первых, научиться решать поставленные задачи, и не важно что за язык вы учите, любую задачу можно решить с помощью множества разных языков программирования, тут уже вопрос удобства и рентабельности, во вторых, надо будет учить апи, фреймворки, паттерны, в зависимости от того какие задачи вы хотите решать с помощью c#
@smaks7767
@smaks7767 3 жыл бұрын
@@MacKorWoT Так с чего вообще начать учится? Никто внятно не может объяснить. Есть какая нибудь пошаговая инструкция?
@MacKorWoT
@MacKorWoT 3 жыл бұрын
@@smaks7767 ее нет, чем вы собираетесь заниматься в дальнейшем? Вот с этого и начните, попробуйте написать какое-нибудь простое приложение, и углубляйтесь постепенно. Нету профессии просто программист, в любом случае нужна какая-то специализация
@smaks7767
@smaks7767 3 жыл бұрын
@@MacKorWoT Короче говоря изучаю дальше с# попутно вникая в нюансы разработки приложений. Язык для разработки WEB после изучения C# будет легче выучить?
@MacKorWoT
@MacKorWoT 3 жыл бұрын
@@smaks7767 у веба есть и бэк и фронт, смотря что тебе надо, можно и c# использовать для этих целей, если речь о js, то да, js очень похож визуально, и не только) на c#, его будет легко выучить
@user-zw4dh5gn6b
@user-zw4dh5gn6b Жыл бұрын
Console.WriteLine(GetType().Name+Damage); почему не сказать, что у гет тайп неявно вызывается экземпляр текущего класса для получения типа?
@user-zy2kg7dk7e
@user-zy2kg7dk7e 3 жыл бұрын
Ребят, подскажите пожалуйста. Скачал VS Code вместо Visiol Studio 2019. Будет ли разница в изучении C#?
@TheHardPotter
@TheHardPotter 3 жыл бұрын
Если хочешь по хардкору по можно и с code (очень много придется использовать командной строки). А вообще студия + решарпер самое удобное средство для быстрой работы.
@DonnaDinaMusic
@DonnaDinaMusic 2 жыл бұрын
будет разница если комп слабый, на моём вижуал студио ОЧЕНЬ лагает, слишком ресурсоёмкая, в вскоде всё норм
@sergeikap7211
@sergeikap7211 10 ай бұрын
Где же ваши уроки :(
@user-eh8dv5dh7w
@user-eh8dv5dh7w 2 жыл бұрын
коммент для продвижения
@user-zf6ur9xc5i
@user-zf6ur9xc5i Ай бұрын
Есть же интерфейсы?
@user-rv7ch1zv9e
@user-rv7ch1zv9e 3 жыл бұрын
в чем разница между абстрактным классом и интерфейсом?
@MacKorWoT
@MacKorWoT 3 жыл бұрын
в том, что абстрактный класс, это обычный класс, в котором можно делать все тоже самое, что и не в абстрактном, за исключением создания его экземпляра, а интерфейс может содержать только абстрактные методы, свойства и делегаты, и интерфейсы поддерживают множественное наследование, только еще 1 момент, что в C# 9 завезли возможность сделать базовую реализацию прямо в интерфейсе, но это не стоит использовать, если нету критической необходимости, в 99.9% случаев ее нет)
@erikedit8323
@erikedit8323 2 жыл бұрын
10:23 а как с помощью for это сделать?) Ведь item в foreach(т.е. его тип (var)) - это weapon, а в for переменная i это int
@ilya9261
@ilya9261 2 жыл бұрын
индексы у элементов массива целые
@tutnichego4973
@tutnichego4973 3 жыл бұрын
Следующий урок будет по интерфейсам, получается.
@naboru1000
@naboru1000 Жыл бұрын
Местами нужно скорость воспроизведения поставить 0.75
@Sticksys
@Sticksys 3 жыл бұрын
ну почему не вы преподаете у меня шарп :(
@user-gm5rn6po7h
@user-gm5rn6po7h 3 жыл бұрын
+
@geshoi
@geshoi 2 жыл бұрын
Боюсь скоро игры будем писать и наносить урон врагу.
@byterytnc8763
@byterytnc8763 3 жыл бұрын
Привет, слушай , можешь в каком-нибудь ролике уделить пару минут конкотенации строк с помощью "$", а то об этом остальные объясняют как-то непонятно... сложно что-ли)
@vitor_corve
@vitor_corve 3 жыл бұрын
Просмотри плейлист, очень часто есть примеры использования, где все наглядно и понятно.
@Crystal-kt3ig
@Crystal-kt3ig 3 жыл бұрын
Что делать если хочешь стать программистом(gamedev), но ненавидишь физику?
@ivankorchmit6893
@ivankorchmit6893 3 жыл бұрын
А физика тут причем?
@Crystal-kt3ig
@Crystal-kt3ig 3 жыл бұрын
@@ivankorchmit6893 ну тип в инете говорят то что физика нужна
@ivankorchmit6893
@ivankorchmit6893 3 жыл бұрын
@@Crystal-kt3ig Не слушай всяких придурков в Интернете, открывай истину сам. Вообще говорят, что чтобы стать геймдевелопером надо школу закончить на одни пятерки.
@Crystal-kt3ig
@Crystal-kt3ig 3 жыл бұрын
@@ivankorchmit6893 Ок
@illashisko9804
@illashisko9804 Жыл бұрын
когда foreach
@at9s598
@at9s598 Жыл бұрын
Что?
@kantoshi9890
@kantoshi9890 Жыл бұрын
когда try catch
@user-vc8ue5jl8j
@user-vc8ue5jl8j 3 жыл бұрын
Спасибо за уроки! Пожалуйста, выкладывайте в 1080р (без 60 кадров). Очень грузит ноут, а хотелось бы еще и в VS сидеть одновременно. Поддержите лайком у кого слабый ПК!
@user-vc8ue5jl8j
@user-vc8ue5jl8j 3 жыл бұрын
@@patrickowens7665 Спасибо, твоя поддержка хоть и не адекватная но может помочь )
@TheHardPotter
@TheHardPotter 3 жыл бұрын
@@patrickowens7665 может все таки тебя за щеку а не тебе за щеку? Смысл в корне меняется))))
@TheHardPotter
@TheHardPotter 3 жыл бұрын
@@patrickowens7665 так научись писать правильно
@TheHardPotter
@TheHardPotter 3 жыл бұрын
@@patrickowens7665 🤦🏻‍♂️
@TheHardPotter
@TheHardPotter 3 жыл бұрын
Почему решарпер не используете?
@denisnjar5369
@denisnjar5369 2 жыл бұрын
я так и не понял в чем смысл его, ведь можно же насоздавать кучу конкретных методов и задействовать перегрузку. кода что так, что по-другому будет дофига, но в первом случае будет полный контроль над всеми данными.
@alexandervotyakov
@alexandervotyakov 2 жыл бұрын
Когда новый программист решит добавить своё оружие, то он используя абстрактный класс сразу поймет, какие методы обязательны.
@777noob777saibot
@777noob777saibot 3 жыл бұрын
Всё понятно. Но вот что я подумал .Класс предок ведь не имеет доступа к методам наследников. Тогда как, отправив объект класса Gun в параметр класса Weapon, ссылка типа Weapon имеет доступ к методу Fire наследника ? Почему при переопределении предки вдруг начинают иметь доступ к полям наследников? Кажется понял. Так как экземпляр объекта абстрактного класса создать нельзя ссылка этого класса каким-то образом может ссылаться на методы объектов наследников. А класс предок с виртуальным методом имеет доступ к переопределённым методам наследников потому что это как бы один общий метод . Но всё равно как-то странно.
@777noob777saibot
@777noob777saibot 2 жыл бұрын
Короче это только ссылка класса предка имеет доступ к полям наследников. А экземпляр предка не имеет доступ к полям наследников. В параметрах class Player { Shoot( Weapon weapon){} } Weapon weapon - это только ссылка, а не объект. Чтобы она стала объектом класса Weapon нужно сделать так Weapon weapon = new Weapon(); и теперь эта ссылка ссылается на объект типа Weapon. Если создать Gun gun = new Gun(); и отправить в параметры Shoot class Player { Shoot( Weapon weapon) { weapon.Shoot() } } то эта ссылка превращается Player player = new Player(); Player.Shoot(new Gun() ); Weapon Weapon = new Gun() // в это объект наследника можно создать через ссылку класса предка.
@bomb4ik
@bomb4ik 3 жыл бұрын
Можно ДЗ, пожалуйста.
@denzeroneYT
@denzeroneYT 2 жыл бұрын
Давай я свои скину как раз на эту тему хапхпах
@unitypie3355
@unitypie3355 2 жыл бұрын
Пока не понятно зачем именно использовать что-то абстрактное...
@dzmitrystudy9514
@dzmitrystudy9514 Жыл бұрын
Да, думаю на реальных проектах при разработке это редко используется т.к. очень сильно запутывает код
@FeinGe
@FeinGe Жыл бұрын
@@dzmitrystudy9514 Шутишь? В реальных проектах это используется постоянно. Запутывание только в маленькой программке, когда у тебя уже полноценная программа это наводит порядок и ее дальнейшее масштабирование, без этого твоя программа будет плохо читабельна и когда захочешь ее расширять столкнешься с массой проблема, почитай про паттерны, например SOLID.
ONE MORE SUBSCRIBER FOR 6 MILLION!
00:38
Horror Skunx
Рет қаралды 14 МЛН
Как быстро замутить ЭлектроСамокат
00:59
ЖЕЛЕЗНЫЙ КОРОЛЬ
Рет қаралды 10 МЛН
How I prepare to meet the brothers Mbappé.. 🙈 @KylianMbappe
00:17
Celine Dept
Рет қаралды 55 МЛН
ПРОГНОЗ НА ЕГЭ 2024 ПО ИНФОРМАТИКЕ | СЛИВ РЕАЛЬНЫХ ЗАДАНИЙ
21:52
Информатика ЕГЭ 2024 I Марат Ишимов
Рет қаралды 309
Абстрактный класс в ООП
10:28
Volodya Mozhenkov
Рет қаралды 40 М.
Треугольник Паскаля на C++
6:05
Progbot
Рет қаралды 141
Абстрактные классы в Python
12:35
Python Clinic
Рет қаралды 2,7 М.
Большие проблемы наследования в ООП
10:51
ONE MORE SUBSCRIBER FOR 6 MILLION!
00:38
Horror Skunx
Рет қаралды 14 МЛН