package com.javarush.test.level14.lesson08.home04; /* Реализовать метод printMainInfo 1. Напиши реализацию метода printMainInfo, чтобы: 1.1. Если в метод передают объект типа Drawable, у этого объекта вызывался метод draw. 1.2. Если в метод передают объект типа Movable, у этого объекта вызывался метод move. 2. Метод main менять нельзя. */ public class Solution { public static void main(String[] args) { Object obj = new Circle(); Movable movable = (Movable) obj; Drawable drawable = new Rectangle(); printMainInfo(drawable); //метод передаёт объект printMainInfo(movable); } public static void printMainInfo(Object object) //метод принимает объект { //Add your code here if (object instanceof Drawable) ((Drawable)object).draw(); //вызываем метод draw() у объекта object типа Drawable. Существует интерфеейс Drawable с методом draw, а в классе Rectangle, наследованном от интерфейса Drawable, есть void-метод draw if (object instanceof Movable) ((Movable)object).move(); } static interface Movable { void move(); } static class Circle implements Movable { public void draw() { System.out.println("can be drawn"); } public void move() { System.out.println("can be moved"); } } static interface Drawable { void draw(); } static class Rectangle implements Drawable { public void draw() { System.out.println("can be drawn"); } public void move() { System.out.println("can be moved"); } } }
Leave A Comment