• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Metoda printMainInfo musi wywołać metodę draw na przekazanym obiekcie

Object Storage Arubacloud
0 głosów
91 wizyt
pytanie zadane 6 października 2020 w Java przez danielo665 Obywatel (1,040 p.)

 

package pl.codegym.task.task14.task1412;

/* 
Zaimplementuj metodę printMainInfo
*/

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) {
        //tutaj wpisz swój kod
        if (object instanceof Drawable){
            Rectangle rectangle = new Rectangle();
            rectangle.draw();
        }
        else if (object instanceof MovableR

        public void move() {
            System.out.println("Coś, co można ruszyć");
        }

    }

    static interface Drawable {
        void draw();
    }

    static class Rectangle implements Drawable {
        public void draw() {
            System.out.println("Coś, co można narysować");
        }

        public void move() {
            System.out.println("Coś, co można ruszyć");
        }
    }
}

  • Metoda printMainInfo musi wywołać metodę draw na przekazanym obiekcie, jeśli obiekt implementuje interfejs Drawable.

  • Metoda printMainInfo musi wywołać metodę move na przekazanym obiekcie, jeśli obiekt implementuje interfejs Movable.

musze wywyołac na objekcie tylko jak ?

2 odpowiedzi

0 głosów
odpowiedź 6 października 2020 przez Wiciorny Ekspert (269,710 p.)
tak samo jak to zrobiles dla przypadku z metodą "Draw" różnicy nie ma w obu zadaniach jedynie interfejs.
0 głosów
odpowiedź 6 października 2020 przez mbabane Szeryf (79,280 p.)

Można używając instanceof, ale chyba lepiej wykorzystać przeciążanie metod (chyba że miałeś z góry założone że printMainInfo ma przyjmować jako argument typ Object):

public static void printMainInfo(Drawable drawable) {
    drawable.draw();
}

public static void printMainInfo(Movable movable) {
    movable.move();
}

 

Podobne pytania

0 głosów
1 odpowiedź 88 wizyt
pytanie zadane 5 sierpnia 2020 w Java przez danielo665 Obywatel (1,040 p.)
0 głosów
1 odpowiedź 388 wizyt
pytanie zadane 12 kwietnia 2019 w Java przez Placidus Użytkownik (580 p.)
0 głosów
2 odpowiedzi 297 wizyt
pytanie zadane 14 grudnia 2017 w PHP przez `Krzychuu Stary wyjadacz (13,940 p.)

92,555 zapytań

141,402 odpowiedzi

319,540 komentarzy

61,938 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...