Содержание[Скрывать][Показывать]
- 1. Что такое объектно-ориентированное программирование?
- 2. Зачем нужны ООП?
- 3. Какие преимущества предлагают принципы ООП?
- 4. Каковы столпы концепции ООП?
- 5. Что такое класс?
- 6. Что такое объект?
- 7. Каковы ограничения ООП?
- 8. Что такое наследование?
- 9. Что такое инкапсуляция?
- 10. Что такое полиморфизм?
- 11. Что такое абстракция?
- 12. Что такое перегрузка методов?
- 13. Что такое переопределение метода?
- 14. Что такое суперкласс?
- 15. Что такое подкласс?
- 16. Что такое статический полиморфизм?
- 17. Что такое динамический полиморфизм?
- 18. Опишите понятие конструктора.
- 19. Что такое модификаторы доступа?
- 20. Что такое деструктор?
- 21. Что такое гибридное наследование?
- 22. Что такое иерархическое наследование?
- 23. Каковы недостатки наследования?
- 24. Что именно является исключением?
- 25. Что такое обработка исключений и каковы ее преимущества?
- 26. Что такое виртуальные функции?
- 27. Что такое функция друга?
- 28. Что такое сборка мусора?
- 29. Что такое сцепление?
- 30. Что такое сплоченность?
- 31. Опишите блок try/catch.
- 32. Опишите последний блок.
- 33. Что такое интерфейс?
- 34. Что такое композиция?
- 35. Что такое цепочка конструкторов?
- Заключение
Одна из наиболее влиятельных парадигм программирования называется ООП или объектно-ориентированное программирование. Вместо функций и процессов он делает упор на классы и объекты.
Его основная задача — связать данные и вещи, чтобы с ними было проще работать. Каждый объект в ООП состоит из кода в виде процедур или методов и данных в виде полей.
Такие языки, как C++, Objective C, Python, Perl и Java, являются одними из самых популярных объектно-ориентированных языки программирования.
Крайне важно понять больше об этом, поскольку вопросы на собеседовании очень типичны. Большинство фирм ищут инженеров, знакомых с объектно-ориентированными методами и шаблонами. Итак, если вы собираетесь посетить собеседование, вы должны хорошо разбираться в идеях ООП.
В этом посте будут показаны различные вопросы интервью по объектно-ориентированному программированию от начального до экспертного уровня. Таким образом, вы можете пройти собеседование любого уровня и получить должность своей мечты.
1. Что такое объектно-ориентированное программирование?
Объектно-ориентированное программирование (ООП) основано на реальных объектах, а не только на функциях и процессах. Классы создаются для отдельных продуктов.
Наследование, полиморфизм и сокрытие являются примерами реальных концепций, которые ООП включают в программирование. Это также позволяет связать данные и код.
2. Зачем нужны ООП?
Есть несколько причин, по которым ООП предпочтительнее, однако наиболее важными являются следующие:
- ООП позволяют людям легко понять программное обеспечение, даже если они не знакомы с его реализацией.
- Упс, улучшите читабельность, понятность и ремонтопригодность кода в десять раз.
- С помощью ООП можно легко создавать и контролировать даже очень большие приложения.
3. Какие преимущества предлагают принципы ООП?
- К сожалению, объекты программирования имитируют объекты реального мира, уменьшая сложность и повышая ясность программы.
- Объекты могут многократно использоваться во многих программах.
- Каждый объект создает отдельную сущность, внутренние операции которой не зависят от других компонентов системы.
- Внедряя несколько новых объектов и обновляя несколько уже существующих, можно добавить новый функционал или адаптироваться к изменяющимся условиям эксплуатации.
- Процессы программы ООП или представление данных могут легко подвергаться небольшим корректировкам.
4. Каковы столпы концепции ООП?
Ниже приведены основные столпы ООП:
наследование: позволяет классам наследовать атрибуты другого класса.
Инкапсуляция: это свойство объекта, которое скрывает важную информацию. Это скрывает данные от членов класса. Спецификаторы описывают, как в коде осуществляется доступ к атрибуту объекта.
Полиморфизм: это позволяет выполнять одно действие несколькими способами. Это достигается через интерфейсы, в которых мы объявляем один интерфейс, который впоследствии реализуется несколько раз.
абстракция: Вы можете использовать эту функцию, чтобы скрыть важную информацию от внешнего мира и представить только важные факты.
5. Что такое класс?
Класс — это прототип, состоящий из объектов в разных состояниях и с разным поведением. Он имеет ряд методов, которые используются объектами этого класса.
6. Что такое объект?
Объект — это сущность реального мира, которая служит фундаментальной единицей ООП, например стул, кошка или собака. Различные объекты имеют различные состояния, свойства и действия.
7. Каковы ограничения ООП?
- Размер больше, чем у других приложений.
- Это требует некоторого привыкания.
- Определенные виды проблем не требуют этого.
- Его создание было трудоемким, и по сравнению с другими приложениями оно работает медленнее.
8. Что такое наследование?
Понятие, называемое наследованием, относится к совместному использованию установленной структуры и поведения класса другим классом. Когда наследование применяется к одному классу, это называется одиночным наследованием; когда это зависит от многих классов, это называется множественным наследованием.
9. Что такое инкапсуляция?
Идея ООП также включает в себя инкапсуляцию. В нем описывается сочетание данных и методов манипулирования данными. Кроме того, это помогает предотвратить прямой доступ к некоторым частям объекта.
10. Что такое полиморфизм?
В языках ООП полиморфизм является фундаментальной концепцией. Он показывает, как разные классы могут совместно использовать интерфейс. Все эти классы могут иметь уникальные реализации интерфейса.
11. Что такое абстракция?
Абстракция — это концепция объектно-ориентированного программирования (ООП), используемая для создания структуры объектов реального мира. Он «отображает» только самые важные качества и «скрывает» постороннюю информацию от внешнего мира. Основная цель абстракции — оградить людей от ненужной информации.
12. Что такое перегрузка методов?
Две или более процедуры могут иметь одно и то же имя. Однако они должны иметь разные параметры, разное количество параметров, разные типы или и то, и другое. Они известны как перегруженные методы, а функция называется перегрузкой методов.
13. Что такое переопределение метода?
Объектно-ориентированное программирование включает в себя идею переопределения методов. Это языковая функция, которая позволяет подклассу или дочернему классу предлагать настраиваемую реализацию метода, который уже предоставляет один из его суперклассов или родительских классов.
14. Что такое суперкласс?
Суперкласс, часто называемый базовым классом, — это тип класса, который действует как родитель другого класса или классов. Класс Car, например, имеет подкласс Vehicle.
15. Что такое подкласс?
Подкласс — это подкласс другого класса. Например, фургон является подклассом транспортного средства или производным классом.
16. Что такое статический полиморфизм?
Во время компиляции имеет место тип полиморфизма, известный как статический полиморфизм (статическое связывание). Перегрузка метода — это тип полиморфизма времени компиляции.
17. Что такое динамический полиморфизм?
Тип полиморфизма, который разрешается во время выполнения, называется полиморфизмом во время выполнения, также известным как динамический полиморфизм (динамическое связывание). Переопределение методов является иллюстрацией полиморфизма времени выполнения.
18. Опишите понятие конструктора.
Конструктор — это особый метод класса, который автоматически вызывается при создании экземпляра класса. Когда вы обращаетесь к классу, он создается с тем же именем, что и класс, и инициализирует все его члены. Основные характеристики конструктора следующие:
Для конструкторов нет возвращаемого типа.
Возможна перегрузка конструкторов.
Не требуется указывать конструктор; .NET Framework сделает это автоматически.
19. Что такое модификаторы доступа?
В объектно-ориентированных языках ключевые слова являются модификаторами доступа или спецификаторами доступа. Это помогает в настройке классов, методов и доступности других членов.
20. Что такое деструктор?
Деструктор — это метод освобождения ресурсов, назначенных объекту. Когда объект уничтожается, этот метод вызывается автоматически.
21. Что такое гибридное наследование?
Гибридное наследование — это тип наследования, порожденный смешением нескольких форм наследования, таких как одиночное, множественное и т. д.
22. Что такое иерархическое наследование?
Несколько подклассов наследуются от родительского класса в ситуации иерархического наследования. Тип наследования, при котором многочисленные классы происходят от одного родителя или базового класса, известен как иерархическое наследование. Например, класс фруктов может содержать такие подклассы, как «яблоко», «манго», «банан», «вишня» и т. д.
23. Каковы недостатки наследования?
Это удлиняет и усложняет процесс исполнения. Это также требует переключения между различными классами. Родительский и дочерний классы всегда неразрывно связаны.
Изменения в учебной программе потребуют изменений как для родителей, так и для класса ребенка. Наследование должно быть реализовано осторожно, иначе результаты будут неправильными.
24. Что именно является исключением?
Исключением является инцидент, мешающий обычной работе кода. Чтобы продолжить выполнение, вы можете обработать эти исключения в Java. В Java существует много видов предопределенных исключений, и предусмотрена обработка исключений для управления вызванными исключениями с помощью блоков try-catch.
25. Что такое обработка исключений и каковы ее преимущества?
Самый важный метод в Java для обработки непредвиденных сбоев во время выполнения — это обработка исключений. Он позволяет контролировать ошибки времени выполнения, возникающие во время выполнения программы.
К преимуществам обработки исключений относится возможность сохранения обычного потока программы при управлении исключениями. Например, если ошибка возникает в одном разделе программы, она не повлияет на остальную часть программы, если мы обработаем исключение блоками try-catch.
26. Что такое виртуальные функции?
Виртуальные функции также включены в функции родительского класса и переопределяются подклассом. Эти подпрограммы помогают достичь полиморфизма во время выполнения.
27. Что такое функция друга?
Дружественная функция — это функция, принадлежащая классу и имеющая доступ к его общедоступным, частным или защищенным данным. Если функция определена вне класса, получить эти данные невозможно. Ключевые слова управления доступом private, public и protected не имеют отношения к объявлению друга, которое может быть сделано в любом месте объявления класса.
28. Что такое сборка мусора?
Сборка мусора (GC) — это элемент языков программирования, таких как C# и Java, который служит системой восстановления памяти. Механизм сборки мусора (GC) — это компонент языка программирования, который позволяет автоматически освобождать пространство памяти для объектов, которые приложение больше не использует.
29. Что такое сцепление?
Это относится к ситуациям, в которых различные классы полагаются друг на друга и обмениваются знаниями. Сильная связь возникает, когда один класс имеет подробные знания о другом классе. Вы можете указать видимость классов, методов или переменных с помощью модификаторов доступа. Интерфейсы используются для обеспечения более слабой связи.
30. Что такое сплоченность?
То, как компонент выполняет определенную деятельность, называется его связностью. Сильный связный подход просто выполнит определенную задачу, в то время как слабый связный метод разделит одну задачу на несколько более мелких задач, а затем завершит их.
Пакет Java.io вполне последователен, а пакет java.util — нет.
31. Опишите блок try/catch.
Когда программа сталкивается с ошибкой из-за неправильного кода или данных, «попробовать» и «отловить» указывают, как с ней справиться. Блок try — это название части кода, когда возникают исключения. Блок catch используется для захвата и обработки исключений из блоков try.
32. Опишите последний блок.
Рабочая часть кода ключевого слова try указывается последней. Он обозначает код, который всегда запускается сразу после пробной версии, и любые блоки catch до завершения метода. Последний блок всегда выполняется независимо от того, выброшено или перехвачено исключение.
33. Что такое интерфейс?
Интерфейс представляет собой комбинацию абстрактных методов и определяемого пользователем типа данных. Класс реализует интерфейс, наследуя абстрактные функции интерфейса.
Класс представляет свойства и поведение объекта, тогда как интерфейс включает в себя поведение, которое реализует класс. Интерфейс представляет «что», тогда как класс передает «как».
34. Что такое композиция?
Композицию можно использовать для достижения соединения. Он демонстрирует сильную объектную связь между зависимыми и независимыми объектами, в отличие от агрегации. В этом случае зависимый объект не существует и будет удален, если родительский объект будет стерт.
35. Что такое цепочка конструкторов?
Цепочка конструкторов — это метод вызова одного конструктора из другого по отношению к текущей ссылке на объект. Есть два варианта:
- На конструктор в текущем классе можно ссылаться с помощью ключевого слова this.
- Ключевое слово super будет использоваться для вызова конструктора из базового класса.
Заключение
Объектно-ориентированное программирование требует продумывания структуры программы и предварительной подготовки. Изучение того, как разделить требования на базовые повторно используемые классы, которые можно использовать для создания экземпляров вещей.
В целом, внедрение ООП обеспечивает улучшение структуры данных и возможность повторного использования, что экономит время в долгосрочной перспективе. Видеть Серия интервью Хэшдорка за помощь в подготовке к интервью.
Оставьте комментарий