Вопрос с собеседования
Что такое Open/closed principle?
Ответ:
Open/closed principle - принцип объектно-ориентированного программирования, устанавливающий следующее положение:
"Программные сущности (классы, модули, функции и т. п.) должны быть открыты для расширения, но закрыты для изменения".
Это означает, что такие сущности могут позволять менять свое поведение без изменения их исходного кода.
#interview
Что такое Open/closed principle?
Ответ:
Open/closed principle - принцип объектно-ориентированного программирования, устанавливающий следующее положение:
"Программные сущности (классы, модули, функции и т. п.) должны быть открыты для расширения, но закрыты для изменения".
Это означает, что такие сущности могут позволять менять свое поведение без изменения их исходного кода.
#interview
Вопрос с собеседования
Что такое переопределение методов?
Ответ опубликуем вечером, а пока пишите свои варианты в комментариях!
#interview
Что такое переопределение методов?
Ответ опубликуем вечером, а пока пишите свои варианты в комментариях!
#interview
Вопрос с собеседования
Что такое переопределение методов?
Ответ:
Переопределение методов – это концепция объектно-ориентированного программирования. Это особенность языка, позволяющая подклассу или дочернему классу предоставлять конкретную реализацию метода, который уже предоставлен одним из его суперклассов или родительских классов.
#interview
Что такое переопределение методов?
Ответ:
Переопределение методов – это концепция объектно-ориентированного программирования. Это особенность языка, позволяющая подклассу или дочернему классу предоставлять конкретную реализацию метода, который уже предоставлен одним из его суперклассов или родительских классов.
#interview
Вопрос с собеседования
Что такое GRASP?
Ответ опубликуем позже вечером, а пока пишите свои варианты в комментариях!
#interview
Что такое GRASP?
Ответ опубликуем позже вечером, а пока пишите свои варианты в комментариях!
#interview
🤔4👍2🔥1
Вопрос с собеседования
Что такое наследование?
Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!
#interview
Что такое наследование?
Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!
#interview
Вопрос с собеседования
Что такое наследование?
Ответ:
Если вы порождаете класс от другого класса, это называется наследованием.
Дочерний класс наследует все публичные и защищенные свойства и методы от родительского класса. Дочерний класс также может иметь свои собственные свойства и методы. Наследуемый класс определяется с помощью ключевого слова extends.
Множественное наследование - это когда класс наследует более одного базового класса. Пример: класс, объясняющий ребенка. Этот класс –
Многоуровневое наследование - это когда класс наследуется от другого класса, который сам является подклассом какого-то другого базового класса. Пример: класс под названием
#interview
Что такое наследование?
Ответ:
Если вы порождаете класс от другого класса, это называется наследованием.
Дочерний класс наследует все публичные и защищенные свойства и методы от родительского класса. Дочерний класс также может иметь свои собственные свойства и методы. Наследуемый класс определяется с помощью ключевого слова extends.
Множественное наследование - это когда класс наследует более одного базового класса. Пример: класс, объясняющий ребенка. Этот класс –
ребенок – наследует от двух базовых классов, которыми являются мать и отец.Многоуровневое наследование - это когда класс наследуется от другого класса, который сам является подклассом какого-то другого базового класса. Пример: класс под названием
спортивный велосипед, который наследуется от базового класса велосипед. В свою очередь, класс велосипед наследуется от другого класса транспортное средство.#interview
👍4
Вопрос с собеседования
Что такое Liskov substitution principle?
Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!
#interview
Что такое Liskov substitution principle?
Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!
#interview
Вопрос с собеседования
Что такое Liskov substitution principle?
Ответ:
Liskov substitution principle - принцип подстановки Барбары Лисков.
Роберт С. Мартин определил этот принцип так:
"Функции, которые используют базовый тип, должны иметь возможность использовать подтипы базового типа, не зная об этом".
Более простыми словами принцип звучит так:
"Наследующий класс должен дополнять, а не замещать поведение базового класса".
Суть принципа в следующем. Если у нас есть класс A и унаследованный от него класс B, то если мы заменим все использования класса A на B, ничего не должно измениться в работе программы. Ведь класс B всего лишь расширяет функционал класса A.
#interview
Что такое Liskov substitution principle?
Ответ:
Liskov substitution principle - принцип подстановки Барбары Лисков.
Роберт С. Мартин определил этот принцип так:
"Функции, которые используют базовый тип, должны иметь возможность использовать подтипы базового типа, не зная об этом".
Более простыми словами принцип звучит так:
"Наследующий класс должен дополнять, а не замещать поведение базового класса".
Суть принципа в следующем. Если у нас есть класс A и унаследованный от него класс B, то если мы заменим все использования класса A на B, ничего не должно измениться в работе программы. Ведь класс B всего лишь расширяет функционал класса A.
#interview
👍4
Вопрос с собеседования
Что такое иерархическое наследование?
Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!
#interview
Что такое иерархическое наследование?
Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!
#interview
Вопрос с собеседования
Что такое иерархическое наследование?
Ответ:
Это когда один базовый класс имеет более одного подкласса. Например, класс фруктов может иметь в качестве подклассов «яблоко», «манго» и т. д.
#interview
Что такое иерархическое наследование?
Ответ:
Это когда один базовый класс имеет более одного подкласса. Например, класс фруктов может иметь в качестве подклассов «яблоко», «манго» и т. д.
#interview
👍5❤1
Вопрос с собеседования
Что такое гибридное наследование?
Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!
#interview
Что такое гибридное наследование?
Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!
#interview
Вопрос с собеседования
Что такое гибридное наследование?
Ответ:
Сочетание множественного и многоуровневого наследования известно как гибридное наследование.
#interview
Что такое гибридное наследование?
Ответ:
Сочетание множественного и многоуровневого наследования известно как гибридное наследование.
#interview
👍5
Вопрос с собеседования
Что такое Interface segregation principle?
Ответ опубликуем вечером, а пока пишите свои варианты в комментариях!
#interview
Что такое Interface segregation principle?
Ответ опубликуем вечером, а пока пишите свои варианты в комментариях!
#interview
👍1
Вопрос с собеседования
Что такое Interface segregation principle?
Ответ:
Interface segregation principle - принцип разделения интерфейса (много специализированных интерфейсов лучше, чем один универсальный).
Иными словами, большие, объемные интерфейсы надо разбивать на мелкие. При этом клиенты маленьких интерфейсов должны знать только о тех методах, которые необходимы им в работе. Также при изменении метода интерфейса не должны меняться клиенты, которые этот метод не используют.
#interview
Что такое Interface segregation principle?
Ответ:
Interface segregation principle - принцип разделения интерфейса (много специализированных интерфейсов лучше, чем один универсальный).
Иными словами, большие, объемные интерфейсы надо разбивать на мелкие. При этом клиенты маленьких интерфейсов должны знать только о тех методах, которые необходимы им в работе. Также при изменении метода интерфейса не должны меняться клиенты, которые этот метод не используют.
#interview
Вопрос с собеседования
Что такое модификаторы доступа?
Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!
#interview
Что такое модификаторы доступа?
Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!
#interview
Вопрос с собеседования
Что такое модификаторы доступа?
Ответ:
Модификаторы доступа или спецификаторы доступа – это ключевые слова в объектно-ориентированных языках. Они помогают установить доступность классов, методов и других членов.
#interview
Что такое модификаторы доступа?
Ответ:
Модификаторы доступа или спецификаторы доступа – это ключевые слова в объектно-ориентированных языках. Они помогают установить доступность классов, методов и других членов.
#interview
Вопрос с собеседования
Что такое YAGNI?
Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!
#interview
Что такое YAGNI?
Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!
#interview
Вопрос с собеседования
Что такое YAGNI?
Ответ:
YAGNI (аббр. от You ain't gonna need it - "Тебе это не понадобится") - принцип проектирования ПО, при котором в качестве основной цели и/или ценности декларируется отказ от избыточной функциональности. Суть в том, чтобы реализовывать только поставленные задачи и отказываться от избыточного функционала.
#interview
Что такое YAGNI?
Ответ:
YAGNI (аббр. от You ain't gonna need it - "Тебе это не понадобится") - принцип проектирования ПО, при котором в качестве основной цели и/или ценности декларируется отказ от избыточной функциональности. Суть в том, чтобы реализовывать только поставленные задачи и отказываться от избыточного функционала.
#interview
👍11
Шаблон проектирования Builder
Строитель — порождающий паттерн проектирования. Он позволяет создавать сложные объекты пошагово. Строитель дает возможность использовать один и тот же код строительства для получения разных представлений объектов.
От абстрактной фабрики отличается тем, что делает акцент на пошаговом конструировании объекта. Строитель возвращает объект на последнем шаге, тогда как абстрактная фабрика возвращает объект немедленно.
Паттерн Builder может помочь в решении следующих задач:
1. В системе могут существовать сложные объекты, которые сложно или невозможно создать за одну операцию. Требуется поэтапное построение объектов с контролем результатов выполнения каждого этапа.
2. Данные должны иметь несколько представлений. Допустим, есть некоторый исходный документ в формате RTF (Rich Text Format), в общем случае содержащий текст, графические изображения и служебную информацию о форматировании (размер и тип шрифтов, отступы и др.). Если этот документ в формате RTF преобразовать в другие форматы (например, Microsoft Word или простой ASCII-текст), то полученные документы и будут представлениями исходных данных.
Смотреть реализацию
Строитель — порождающий паттерн проектирования. Он позволяет создавать сложные объекты пошагово. Строитель дает возможность использовать один и тот же код строительства для получения разных представлений объектов.
От абстрактной фабрики отличается тем, что делает акцент на пошаговом конструировании объекта. Строитель возвращает объект на последнем шаге, тогда как абстрактная фабрика возвращает объект немедленно.
Паттерн Builder может помочь в решении следующих задач:
1. В системе могут существовать сложные объекты, которые сложно или невозможно создать за одну операцию. Требуется поэтапное построение объектов с контролем результатов выполнения каждого этапа.
2. Данные должны иметь несколько представлений. Допустим, есть некоторый исходный документ в формате RTF (Rich Text Format), в общем случае содержащий текст, графические изображения и служебную информацию о форматировании (размер и тип шрифтов, отступы и др.). Если этот документ в формате RTF преобразовать в другие форматы (например, Microsoft Word или простой ASCII-текст), то полученные документы и будут представлениями исходных данных.
Смотреть реализацию
Вопрос с собеседования
Что такое абстракция?
Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!
#interview
Что такое абстракция?
Ответ опубликуем завтра, а пока пишите свои варианты в комментариях!
#interview