Как максимально четко и уверенно рассказать про ООП?
Как максимально грамотно сформулировать суть ООП. Рассказать про инкапсуляцию, полиморфизм и наследование? Я недавно поймал себя на мысли, что я использую все это, но не могу адекватно дать определение. И мне бы хотелось бы выяснить как вы сами можете объяснить себе эти три принципа? Надеюсь кто - нибудь поделится историей о том, как именно он рассказывал про ООП на интервью.
В этом и проблема что всем рассказывают про ООП используя "эти три принципа" хотя суть в другом - в том что ооп это программирование Обьектами которые обмениваются сообщениями и используют друг друга для выполнения задач. И только после этого людям надо рассказывать про "эти три принципа"!
Что бы объяснить суть чего либо нужно ответить на 3 вопроса:
- Что он делает?
- Как он это делает?
- Для чего это нужно?
Максим Федоров, В том то и дело! Но людям сразу начинают выбирать про наследование, полиморфизм и прочее и новички еще больше запутываются, и не у всякого хватит терпения самостоятельно найти информацию и разобраться, что такое на самом деле ооп!
Б***ть, кажется у меня слегка бомбануло, так как сам долго не мог понять.
И что? Эти принципы не раскрывают суть ооп. Это как спросить в сем суть холодильника, а тебе начинают говорить что он должен быть белым, с морозилкой и стеклянными полками, но в чем Суть так и не ясно.
Антон Р., люди, спрашивающие, что такое ООП, делятся на тех, кто без вас знает, что такое ООП, и тех, кому никакое объяснение в жизни не поможет. Так что правильный ответ на этот вопрос - подсмотреть, что написано на бумажке перед эйчаром, или выдать любое определение, не являющееся бредом.
Надеюсь кто - нибудь поделится историей о том, как именно он рассказывал про ООП на интервью.
Меня однажды спросили про три принципа, ответил - "наследование - с ним все понятно, инкапсуляция - сокрытие данных, полиморфизм - ...когда много разных объектов дают одинаковый результат". Не самый красивый вариант, но интервьюер все понял и мы пошли дальше.
Эти приниципы ничего не дают, если нет понимания как их применят ьна практике, и навыка этого применения. Часто сталкиваюсь с тем, что рассказать то принципы могут, объяснить зачем они, увы, уже нет.
Рекомендую книгу "Применение UML 2.0 и паттернов проектирования" Крейга Лармана. По идее, после прочтения вопросов не должно остаться. Ну, можно потом заполировать вот этой книгой https://habr.com/ru/post/140284/
Эти приниципы ничего не дают, если нет понимания как их применят ьна практике, и навыка этого применения. Часто сталкиваюсь с тем, что рассказать то принципы могут, объяснить зачем они, увы, уже нет.
- неистово плюсую! На новичков сразу вываливают всю эту информацию без примеров где и как использовать.