Пошаговый подход к изучению объектно-ориентированного программирования
Объектно-ориентированное программирование или ООП относится к языку, который использует объекты в программировании. Это в первую очередь связано с реализацией реальных сущностей, таких как наследование, полиморфизм и т. Д., В программировании. Например - в классе живых существ; Люди, животные, растения, микроорганизмы и т. Д. Известны как объекты. ООП используется для решения реальных проблем. ООП имеет несколько дополнительных преимуществ, таких как более быстрое и простое выполнение, обеспечение четкой структуры программы, которая упрощает чтение кода другими пользователями, в нем используется принцип СУХОЙ «Не повторяйся», который упрощает поддержание кода, изменение и отладку.
Кроме того, ООП важен не только для академических экзаменов, но и очень важен для собеседований, особенно для интервью с Fresher. В ООП много тем, и в этой дорожной карте мы обсудим все эти темы последовательно. Если какой-либо новичок или студент будет следовать этой дорожной карте, он / она обязательно пройдут собеседование, а также экзамены в колледже или университете на основе программирования ООП.
1. Первый шаг
Прежде чем перейти к изучению концепции ООП, необходимо иметь базовые знания об основах и синтаксисе C ++, Java, Python или любого другого соответствующего языка программирования. Это поможет вам удобно реализовать концепции ООП в программировании.
2. Второй шаг
После этого вы должны следовать обзорным пунктам концепции ООП, например:
- Что такое объектно-ориентированное программирование?
- Связь объектно-ориентированного программирования с реальным миром и то, как с его помощью можно решить реальные проблемы.
- Почему мы изучаем объектно-ориентированное программирование и почему это важно?
- Ограничения и преимущества ООП
- Разница между процедурным и объектно-ориентированным программированием?
- Почему ООП предпочтительнее процедурного языка программирования?
Итак, прежде чем углубляться в концепции ООП, необходимо иметь представление о вышеуказанных вопросах. Ответы или ссылки на них можно найти на сайте GeeksforGeeks или в любой рекомендованной книге. Важные книги для изучения ООП:
- Для C ++: объектно-ориентированное программирование на C ++ Э.Балагурусами.
- Для JAVA: Java: Полный справочник Герберта Шильдта.
- Для Python: освоение книги по объектно-ориентированному Python Стивена Ф. Лотта.
3. Третий шаг
Теперь, после выполнения описанных выше шагов, мы продвинемся дальше по основам объектно-ориентированного языка программирования следующим образом:
- Что такое класс
- Что такое объект
- Разница между классом и объектом.
- Использование классов и объектов внутри и вне основного класса.
- Могут ли класс и объект существовать или использоваться по отдельности?
- Реальная аналогия класса и объекта.
- Модификаторы доступа (общедоступные, частные, защищенные и т. Д.)
- Функция-член (функция внутреннего и внешнего классов)
4. Четвертый шаг
Важные ключевые слова для изучения:
- Статическое ключевое слово
- Виртуальное ключевое слово
- Абстрактное ключевое слово
- Заключительное ключевое слово
- Явное ключевое слово
- Это ключевое слово
- новое ключевое слово
- ключевое слово const
- супер ключевое слово
Необходимо знать об этих ключевых словах, таких как их определение, использование, плюсы и минусы и т. Д., И почему это важно изучать.
5. Пятый шаг
Конструктор и деструктор:
- Определение и работа.
- Правила и типы.
- Цель использования конструктора и деструктора
- Разница между конструктором и методами (в Java)
- Может ли конструктор выполнять другую задачу вместо инициализации?
- Конструктор возвращает какое-либо значение?
- Конструктор против Деструктора.
- Есть ли класс конструктора?
6. Шестой шаг
Особенности OOPS
Полиморфизм: здесь нужно знать:
- Что такое полиморфизм
- Категории: Перегрузка функций / операторов, Полиморфизм времени компиляции, Переопределение функций, Полиморфизм времени выполнения
- Какая функция может быть перегружена, а какие не могут быть перегружены с объяснением
- Виртуальная функция
- Динамическое связывание
- Виртуальный класс
- Производный класс
- Встроенная виртуальная функция
- Абстрактный класс
- Чистая виртуальная функция
- Чистый виртуальный деструктор
- Экземпляр оператора
Наследование:
- Подкласс
- Суперкласс
- Возможность повторного использования
- Потребность в наследовании
- Может ли ООП существовать без наследования
- Типы наследования (одиночное, множественное, иерархическое, многоуровневое, гибридное, виртуальное наследование)
- Примеры наследования из реальной жизни
- Ограничение наследования
- Запечатанный модификатор
- Нарезка объекта
Инкапсуляция
- Определение
- Нужно
- Как добиться
- Пример из реального мира
- Пакеты (на Java)
Абстракция
- Определение
- Когда использовать
- Как достичь
- Разница между наследованием и абстракцией
- Разница между инкапсуляцией и абстракцией
Другие
- Динамическое связывание
- Сообщение передается
- Клонирование объекта
- Класс обертки
Итак, есть важные темы ООП для собеседований и академических экзаменов, при правильном соблюдении которых вы обязательно добьетесь успеха.
Кроме того, эти темы должны быть охвачены, следуя важному принципу обучения:
- Получите глубокие знания по теме.
- Необходимо знать детали реализации.
- Как это связано с реальным миром.
7. Шаг седьмой.
- Важные вопросы собеседования по концепции ООП:
- C против C ++ против Java против Python (просто представьте, чем они отличаются)
- Разница между процедурным языком и языком ООП?
- Почему Java не является чистым языком объектно-ориентированного программирования?
- Является ли массив примитивным типом или объектом в Java?
- Что такое раннее и позднее связывание?
- Что такое модификатор доступа по умолчанию?
- Сколько экземпляров можно создать для абстрактного класса?
- Определить сборку мусора и как это работает?
- Определить манипуляторы?
- Что вы имеете в виду под заключительным блоком?
- Какая последняя переменная?
- Что вы имеете в виду под исключением?
- Ошибка в основном такая же, как и исключение?
- Может ли класс унаследовать конструктор своего базового класса?
- Когда следует использовать структуру вместо класса?
- Разница и сходство между Struct и классом?
- Оператор разрешения области видимости
- Что такое глубокая / неглубокая копия?
- Конструктор копирования против оператора присваивания
- Можем ли мы иметь более одного значения в классе?
- Чем деструкторы отличаются от обычных функций-членов?
- Разница между новым и переопределением?
- Работает ли переопределение с наследованием?
- Обобщение против агрегирования против композиции
Важное объектно-ориентированное проектирование:
- Создайте карту HASH
- Дизайн кеша LRU
- Создайте колл-центр
- Создайте колоду карт
- Дизайн парковки
- Разработка системы онлайн-чата
- Создайте адресную книгу
- Разработка системы управления банком
- Дизайн банкомата
- Система управления дизайн-отелем
- Система управления библиотекой дизайна