Материал: 3 - Презентация

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Центр дистанционного обучения

Полиморфизм – как?

Circle c1 = new Circle(0, 0, 2);

Rectangle r1 = new Rectangle(10, 10, 3, 1); Shape[] shapes = {c1, r1};

x:0

y:0

radius: 2

x:10

y:10

width: 3 height: 1

shapes: [0] [1]

online.mirea.ru

Центр дистанционного обучения

Полиморфизм – как?

Circle c1 = new Circle(0, 0, 2);

Shape s1 = c1;

System.out.println(s1.getX());

 

 

x: 0

c1

 

 

 

y: 0

 

 

 

 

 

radius: 2

s1

online.mirea.ru

Центр дистанционного обучения

Полиморфизм – как?

public double getX() { return this.x;

}

 

 

x: 0

c1

 

 

 

y: 0

 

 

 

 

 

radius: 2

s1

class Shape

getX()

getY()

class Circle getX() getY()

online.mirea.ru

Центр дистанционного обучения

Полиморфизм – как?

Circle c1 = new Circle(0, 0, 2); Shape s1 = c1; System.out.println(s1.getClass());

Каждый объект имеет ссылку на описание класса, доступное через метод obj.getClass()

Описание класса включает в себя список методов этого класса

online.mirea.ru

Центр дистанционного обучения

Полиморфизм – как?

При наследовании “Circle extends Shape” методы копируются из описания класса Shape в описание класса Circle, так что вызов

Circle.getX() и Shape.getX() – вызов одного и того же метода.

online.mirea.ru

Источник: https://studfile.net/preview/16403813/