Разделы презентаций


Полиморфизм в JAVA

Содержание

Еще раз про ООП

Слайды и текст этой презентации

Слайд 1Полиморфизм в JAVA

Полиморфизм в JAVA

Слайд 2Еще раз про ООП

Еще раз про ООП

Слайд 3Полиморфизм
Полиморфизм (polymorphism)
имеется несколько реализаций алгоритма
выбор реализации осуществляется в зависимости

от типа объекта и типа параметров

[греч. poly — много и morphe — вид,

форма, образ]


Механизмы реализации:
Перегрузка (overload) метода
Переопределение (override) метода

ПолиморфизмПолиморфизм (polymorphism) имеется несколько реализаций алгоритмавыбор реализации осуществляется в зависимости от типа объекта и типа параметров [греч. poly —

Слайд 4Еще раз про класс
Класс (class) описывает признаки состояния и поведение

множества схожих объектов
Класс – это пользовательский тип данных
class Car {

String name;
int speed;
int fuel;

void setName(String newName) {…}
void speedUp(int delta) {…}
void fillFuel(int delta) {…}
void printCurrentState() {…}
}

Car auto1 = new Car();
Car auto2 = new Car();
Car auto3 = new Car();

Еще раз про классКласс (class) описывает признаки состояния и поведение множества схожих объектовКласс – это пользовательский тип

Слайд 5Абстрактный класс
определяет общее поведение для порожденных им классов
предполагает наличие дочерних

классов
объявляется со спецификатором abstract
не может иметь объектов
может содержать или не

содержать абстрактные методы


Класс должен быть объявлен как абстрактный если:
класс содержит абстрактные методы
класс наследуется от абстрактного класса, но не реализует абстрактные методы
класс имплементирует интерфейс, но не реализует все методы интерфейса

Абстрактный классопределяет общее поведение для порожденных им классовпредполагает наличие дочерних классовобъявляется со спецификатором abstractне может иметь объектовможет

Слайд 6Абстрактный метод
не имеет реализации
объявляется со спецификатором abstract
переопределяется в дочерних классах

Абстрактный методне имеет реализацииобъявляется со спецификатором abstractпереопределяется в дочерних классах

Слайд 7Пример

Пример

Слайд 8ЗАДАЧА 1
Создать абстрактный класс Transport, и два класса наследника.
Абстрактный

метод в Transport – beep()

ЗАДАЧА 1Создать абстрактный класс Transport, и два класса наследника. Абстрактный метод в Transport – beep()

Слайд 9Интерфейс
Определяет возможное поведение объектов (описывает некоторое семейство типов и содержит

лишь декларации операций)
Интерфейс представляет собой совокупность методов без реализации
При объявлении

класса можно указать, какие интерфейсы он будет поддерживать

interface Switchable {
void switchOn();
void switchOff();
}

class Lamp
implements Switchable {

}

ИнтерфейсОпределяет возможное поведение объектов  (описывает некоторое семейство типов и содержит лишь декларации операций)Интерфейс представляет собой совокупность

Слайд 10Объявление интерфейсов
Бывают:
публичные (public)
непубличные – доступны внутри пакета
Могут содержать:
абстрактные методы

(методы без реализации)
статические константы
(Java SE 8) статические методы
(Java SE 8)

методы по умолчанию (default methods) с реализацией

Все элементы являются публичными (public)
все поля интерфейса являются static и final
Название
Имя интерфейса состоит из одного или нескольких идущих подряд слов
Первая буква каждого слова заглавная, остальные буквы – в нижнем регистре
Имя интерфейса обычно заканчивается на ‘able’

Объявление интерфейсовБывают:публичные (public) непубличные – доступны внутри пакетаМогут содержать:абстрактные методы (методы без реализации)статические константы(Java SE 8) статические

Слайд 11Имплементация интерфейсов
При объявлении класса можно указать, какие интерфейсы он будет

поддерживать
Класс, реализующий интерфейс:
может иметь свои собственные методы (не объявленные в

интерфейсе)
может иметь свои собственные поля
должен реализовать все методы интерфейса, или объявляется как абстрактный (abstract)
Имплементация интерфейсовПри объявлении класса можно указать, какие интерфейсы он будет поддерживатьКласс, реализующий интерфейс:может иметь свои собственные методы

Слайд 12Пример

Пример

Слайд 13ЗАДАЧА 2
Создать интерфейс Animal Transport, и два класса Fish и

Cow, которые будут имплементировать его.
Поля интерфейса: количество ног.
Методы интерфейса: say(),

canSwim(), canRun(), CanFly().

ЗАДАЧА 2Создать интерфейс Animal Transport, и два класса Fish и Cow, которые будут имплементировать его.Поля интерфейса: количество

Слайд 14Наследование интерфейсов

Наследование интерфейсов

Слайд 15Аbstract class vs Interface
Абстрактные классы
описывают поведение для иерархии классов
могут реализовывать

алгоритмы
могут содержать скрытые и защищенные элементы
класс может наследоваться только от

одного абстрактного класса

Интерфейсы
описывают поведение для группы классов, реализующих данный интерфейс
не могут реализовывать алгоритмы;
содержат только публичные элементы
класс может реализовывать несколько интерфейсов

Аbstract class vs InterfaceАбстрактные классыописывают поведение для иерархии классовмогут реализовывать алгоритмымогут содержать скрытые и защищенные элементыкласс может

Слайд 16Связывание
 процесс определения, какой именно метод надо вызывать
РАННЕЕ
выполняемое на этапе компиляции 
ПОЗДНЕЕ
выполняемое

во время исполнения
Компилятор разбирается с ПЕРЕГРУЗКОЙ.
Позднее связывание служит для того,

чтобы разобраться с ПЕРЕОПРЕДЕЛЕНИМ

Связывание процесс определения, какой именно метод надо вызыватьРАННЕЕвыполняемое на этапе компиляции ПОЗДНЕЕвыполняемое во время исполненияКомпилятор разбирается с ПЕРЕГРУЗКОЙ.Позднее связывание

Слайд 17Пример 1
 Вызов статического метода. Это метод класса, а не экземпляра,

переопределить его НЕЛЬЗЯ!

Пример 1 Вызов статического метода. Это метод класса, а не экземпляра, переопределить его НЕЛЬЗЯ!

Слайд 18Пример 1
Результат:

Пример 1Результат:

Слайд 19Пример 2
 Два типа связывания

Пример 2 Два типа связывания

Слайд 20Пример 2

Пример 2

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика