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

Co w tym kodzie oznacza return true lub return false?

Cloud VPS
0 głosów
1,879 wizyt
pytanie zadane 18 grudnia 2018 w Java przez Kubs Mądrala (5,190 p.)
edycja 18 grudnia 2018 przez Kubs

Witajcie,

co oznacza 'return true' lub 'return false' w tym kodzie?

 

class Wampir extends Potwor {

    boolean strasz(int x) {
        System.out.println("można gryza?");
        return false;
    }

}

    class Smok extends Potwor {
        boolean strasz(int stopien) {
            System.out.println("zioń ogniem");
            return true;
        }
    }

 

Uzupełniam post o cały kod

public class test {
    public static void main(String[] args) {

        Potwor[] ptw = new Potwor[3];
        ptw[0] = new Wampir();
        ptw[1] = new Smok();
        ptw[2] = new Potwor();
        for (int x =0; x<3; x++) {
            ptw[x].strasz(x);
        }
    }
}


class Potwor {
    boolean strasz (int d) {
        System.out.println("ałłuuuu");
        return true;
    }
}

class Wampir extends Potwor {

    boolean strasz(int x) {
        System.out.println("można gryza?");
        return false;
    }

}

    class Smok extends Potwor {
        boolean strasz(int stopien) {
            System.out.println("zioń ogniem");
            return true;
        }
    }

 

komentarz 18 grudnia 2018 przez niezalogowany
że jak zapyta, czy można gryza to oznacza fałsz, a gdy zionie ogniem to oznacza prawdę

:P
komentarz 18 grudnia 2018 przez Kubs Mądrala (5,190 p.)
Wciąż nie rozumiem jak to się ma przy uruchomieniu kodu.
komentarz 18 grudnia 2018 przez DragonCoder Nałogowiec (36,500 p.)
Moge cos ugryzc, nie. Moge Cie spalic? Tak
1
komentarz 18 grudnia 2018 przez rafal.budzis Szeryf (85,820 p.)
Sama deklaracja nie oznacza nic. Musiałbyś pokazać fragment wywołania tych metod aby mozna było przewidzieć co autor miał na myśli.
komentarz 18 grudnia 2018 przez Kubs Mądrala (5,190 p.)
No ale dwa teksty się wyświetliły pomimo, że w jednym kodzie jest 'true' a w drugim 'false'. Więc o co tu chodzi?
komentarz 18 grudnia 2018 przez niezalogowany
edycja 18 grudnia 2018 przez Patrycjerz
wiesz, przeważnie logicznie to jeżeli metoda coś robi to można zrobić coś takiego, że zwróci TRUE i tam gdzie wywołujemy tą metodę to wiemy, czy wywołanie jej przyniosło pozytywny skutek czy negatywny (zwróci FALSE)

Tutaj raczej return jest ustawiony z d**y po to, aby cokolwiek metoda typu boolean zwracała jakiś boolean, bo inaczej wywali błąd, że metoda typu boolean nic nie zwraca (a z definicji powinna)

Upraszczając, jeżeli masz metodę typu boolean to powinna ona zwracać boolean (czyli true lub false) - z tego masz return true; return false; w kodzie. Nie ma to żadnego wpływu na działąnie kodu, jedynie obejście nielogicznego użycia metod typu boolean
komentarz 18 grudnia 2018 przez Kubs Mądrala (5,190 p.)

@rafal612b, Uzupełniłem, proszę zerknij.

komentarz 18 grudnia 2018 przez Patrycjerz Mędrzec (192,320 p.)
Proszę zachować poziom dyskusji, nie używając wulgaryzmów.
komentarz 18 grudnia 2018 przez Kubs Mądrala (5,190 p.)
To już ma trochę sens. Uzupełniłem post o cały kod. Proszę zerknij.

1 odpowiedź

+1 głos
odpowiedź 18 grudnia 2018 przez rafal.budzis Szeryf (85,820 p.)

Returny w obecnej formie nie robia nic. Mozesz je usunac a metody zamienic na void zamiast boolean.

Gdybyś jednak chciał wykorzystać jakoś te wartości musiałbyś je zapisywać do zmiennej.

 

Np

 


public class test {
    public static void main(String[] args) {
 
        Potwor[] ptw = new Potwor[3];
        ptw[0] = new Wampir();
        ptw[1] = new Smok();
        ptw[2] = new Potwor();
        for (int x =0; x<3; x++) {
            boolean czyPrzestraszyl = ptw[x].strasz(x);
        }
    }
}
 

Nastepnie w for mozesz tworzyć warunki i wyswietalc jakis tekst tylko gdy zmienna czyPrzestraszyl ma okreslona wartość.

komentarz 18 grudnia 2018 przez Kubs Mądrala (5,190 p.)

To naprawdę wyjaśnia mi sprawę. Dziękuję serdecznie.

Ps. Ach te książki do nauki Javy. Poleciłbyś jakąś książkę? Mam już kilka ale myślę jeszcze o zakupie 'Programowanie w Javie. Solidna wiedza w praktyce'.

 

komentarz 19 grudnia 2018 przez rafal.budzis Szeryf (85,820 p.)
Oj niestety nigdy nie programowałem w javie. A swoja wiedzę z wielu jezykow programowania zdobyłem głównie z darmowych kursow wideo na youtube oraz tutoriali napisanych na rożnych blogach.

Dobra metodą poznania programowania w moim przypadku było też forum. Gdy ktoś zadaje pytanie na ktore nie znasz odpowiedzi dodaj pytanie do ulubionych i poczekaj na odpowiedzi innych.

Ksiazki ktore moge polecić w dalszej drodze to ''czysty kod" i "mistrz czystego kodu".

Podobne pytania

0 głosów
1 odpowiedź 653 wizyt
+3 głosów
3 odpowiedzi 626 wizyt
pytanie zadane 19 października 2021 w Java przez ptomeccc Użytkownik (800 p.)
0 głosów
1 odpowiedź 1,085 wizyt
pytanie zadane 2 czerwca 2016 w JavaScript przez Krzysiek_34 Mądrala (6,410 p.)

93,488 zapytań

142,422 odpowiedzi

322,772 komentarzy

62,906 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

Kursy INF.02 i INF.03
...