Advertisement
jaVer404

level14.lesson08.home04

Jun 23rd, 2015
309
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.71 KB | None | 0 0
  1. package com.javarush.test.level14.lesson08.home04;
  2.  
  3. /* Реализовать метод printMainInfo
  4. 1. Напиши реализацию метода printMainInfo, чтобы:
  5. 1.1. Если в метод передают объект типа Drawable, у этого объекта вызывался метод draw.
  6. 1.2. Если в метод передают объект типа Movable, у этого объекта вызывался метод move.
  7. 2. Метод main менять нельзя.
  8. */
  9.  
  10. public class Solution
  11. {
  12.     public static void main(String[] args)
  13.     {
  14.         Object obj = new Circle();
  15.         Movable movable = (Movable) obj;
  16.         Drawable drawable = new Rectangle();
  17.  
  18.         printMainInfo(drawable);
  19.         printMainInfo(movable);
  20.     }
  21.  
  22.     public static void printMainInfo(Object object)
  23.     {
  24.         //Add your code here
  25.         if (object instanceof Drawable) {
  26.             ((Drawable) object).draw();
  27.         }
  28.         if (object instanceof Movable) {
  29.             ((Movable) object).move();
  30.         }
  31.     }
  32.  
  33.     static interface Movable
  34.     {
  35.  
  36.         void move();
  37.     }
  38.  
  39.     static class Circle implements Movable
  40.     {
  41.  
  42.         public void draw()
  43.         {
  44.             System.out.println("can be drawn");
  45.         }
  46.  
  47.         public void move()
  48.         {
  49.             System.out.println("can be moved");
  50.         }
  51.  
  52.     }
  53.  
  54.     static interface Drawable
  55.     {
  56.         void draw();
  57.     }
  58.  
  59.     static class Rectangle implements Drawable
  60.     {
  61.         public void draw()
  62.         {
  63.             System.out.println("can be drawn");
  64.         }
  65.  
  66.         public void move()
  67.         {
  68.             System.out.println("can be moved");
  69.         }
  70.     }
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement