17:56 Абстрактные классы и абстрактные методы в Java | |
Абстрактный класс – это класс, для которого нельзя создать экземпляр. Можно создать объект Волк, Тигр, Лиса, но что представляет собой объект Животное? Чтобы предотвратить создание экземпляра класса, необходимо отметить класс словом abstract. Кроме классов абстрактными могут быть методы. Абстрактный класс необходимо расширить, а абстрактный метод должен быть переопределен. В абстрактном методе нет кода, то не нужно добавлять тело метода. Поэтому нет фигурных скобок – необходимо просто закрыть объявление точкой с запятой. У абстрактного метода нет тела!!! Если объявляется абстрактный метод, то абстрактным должен быть и класс, которому он принадлежит. Нельзя иметь абстрактный метод в неабстрактном классе. В абстрактном классе могут быть абстрактные и неабстрактные методы. Вы обязаны реализовать все абстрактные методы. Реализация абстрактного метода происходит так же, как обычное переопределение. Абстрактные методы не имеют тела и нужны только для полиморфизма. Это означает, что первый конкретный класс в дереве наследования должен реализовать все абстрактные методы. Другой абстрактный класс в дереве наследования способен переложить эту обязанность на другой конкретный класс. Но первый конкретный класс должен реализовать абстрактные методы обоих абстрактных классов. Реализовать абстрактный метод означает дать ему тело, то есть необходимо создать неабстрактный метод в классе с такой же сигнатурой метода (именем и аргументами) и возвращаемым типом. | |
|
Всего комментариев: 0 | |