Отношения между классами. Наследование, композиция, агрегирование
В программировании вы быстро поймете, как важно не писать лишний объем кода. К счастью, в Java есть все необходимое, чтобы изящно «сокращать». В этой лекции наглядно описаны отношения между классами: наследование, композиция, агрегирование. Приготовьтесь: будет много интересных примеров.
Принципы инкапсуляции
Инкапсуляция, сокрытие — это разные понятия или одно и то же? В базовом виде вы уже сталкивались с инкапсуляцией не раз. Если хотите знать, как «спрятать» от пользователя сложные механизмы работы вашей программы и оставить на виду только удобный интерфейс, советуем внимательно прочесть эту лекцию.
Практика использования полиморфизма
Главное преимущество полиморфизма — гибкость. С одной стороны, вы можете работать с несколькими типами данных так, будто это один тип. С другой стороны, благодаря этому принципу вы можете сохранять поведение объектов. Когда вам пригодится приведение к единому виду, а когда — уникальные характеристики? Об этом и поговорим.
Для чего в Java нужны интерфейсы
В этой лекции без спешки и подробно описано, что такое интерфейсы и почему они появились в языке. А еще вы узнаете о популярных интерфейсах в Java. Приготовьтесь, это тема с продолжением!
Разница между абстрактными классами и интерфейсами
В этой лекции поговорим о том, чем абстрактные классы отличаются от интерфейсов и рассмотрим примеры с распространенными абстрактными классами.
Мы посвятили отличиям абстрактного класса от интерфейса отдельную лекцию, так как тема очень важная. О разнице между этими понятиями вас спросят на 90% будущих собеседований. Поэтому обязательно разберитесь с прочитанным, а если что-то поймете не до конца, почитайте дополнительные источники.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ