Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Резюме для программиста

23.10.21 12:37
Re: Резюме для программиста
 
alex445 старожил
в ответ alex445 23.10.21 12:29
Прикольно. Первый же вопрос, попавшийся наугад - чем наследование отличается от композиции. Ок, это легко. А когда одно используется предпочтительнее другого? - Не знаю.

Не, так нельзя отвечать. Нужно начать что-то говорить, даже если мыслей нет. По ходу додумывать... Ну, на вскидку, с наследованием сложнее вносить изменения, особенно, если это изменения где-то в середине или начале цепочки наследования - нужно следить, чтобы во всех потомках ничего не сломалось. А это могут быть чужие классы. С компонентами проще, т.к. они не часть класса, в который входят, поэтому их проще изменять, заботясь лишь о соблюдении их контрактов (какие свойства и методы предоставляют). Т.е. компоненты уменьшают связность между частями функциональности. Это пока первое, что в голову пришло. Готового списка "чем лучше, чем хуже, когда что лучше-хуже", который бы от зубов отскакивал, нет.


На одном собесе человек хотел конкретное число отличий С++ от C#. Сказал, что их 4 - назовите их. Я кроме управляемой памяти (про которую я забыл, как она на английском и немецком называется - пришлось описывать своими словами, что мол не нужно следить за освобождением, объекты удаляются автоматически и т.д.) ничего назвать не смог.

 

Перейти на