Java klasy dziedziczenie - proste zadanie / sprawdzenie

0

Witam!

Mam do zrobienia zadanie o treści:

zdefiniowac kolejno:
-interfejs POJAZD z bezparametrowa metoda JAZDA , ktora nie zwraca wartosci.

-zdefiniowac abstrakcyjna klase SAMOCHOD, ktore implementuje interfejs POJAZD

-zdefiniowac klasy OSOBOWY i AUTOBUS ktore dziedzicza po klasie SAMOCHOD i w tresci metody jazda wyswietlaja komunikat "jedzie samochod..."

(osobowy albo autobus)

Napisac program ktory pobierze od uzytkownika rodzaj samochodu(osobowy albo autobus), utworzy obiekt podanej klasy i wywoła metode JAZDA.

Zrobiłem już tyle:

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pojazd;

import java.io.IOException;
import java.util.Scanner;

/**
 *
 * @author Damian Matyka
 */
public class Pojazd {

    /**
     * @param args the command line arguments
     */
    
    interface pojazd{           //tworzenie interfejsu pojazd
      public void jazda ();     //tworzenie metody jazda (bez parametru)
    }
    
    
    
    public abstract class samochod implements pojazd{ //tworzenie klasy abstrakcyjnej implementującej interfejs pojazd
    @Override
    
     public void jazda (){
       System.out.println("jedzie samochod..."); 
    }
    
    }
    
    public class osobowy extends samochod {
        
    }
    public class autobus extends samochod {
        
    }
 
    public static void main(String[] args) throws IOException {
        // TODO code application logic here
      System.out.println("Wskaż typ samochodu: \n 1.Osobowy \n 2.Autobus"); 
      
      Scanner odczyt = new Scanner(System.in); //obiekt do odebrania danych od użytkownika
 
      String opcja = odczyt.nextLine();

        switch (opcja) {
            case "1":
                System.out.println("Wybrano samochód osobowy");
                //Tutaj odpalanie
                break;
            case "2":
                System.out.println("Wybrano samochód autobus");
                //Tutaj odpalanie
                break;
            default:
                System.out.println("Zły wybór");
                break;
        }
       
        
    }
}

Zastanawiam się po pierwsze czy to co zrobiłem jest dobre, a po drugie w jaki sposób teraz wypisać to "jedzie samochod..." aby było zgodnie z poleceniem. Wiem że muszę użyć polecenia "new". Ale jakoś nie mogę / nie mam pomysłu jak poprzez klasy osobowy lub autobus pojawiło się to "jedzie samochod...".

Będę wdzięczny za poradę bo nie mam pomysłu jak to zrealizować dalej.
1

To co napisałeś ma niewielki związek z zadaniem. Porozbijaj to na kila plików:
plik Pojazd.java

public interface Pojazd
{
    //metoda jazda
}

plik Samochod.java

public abstract class Samochod implements Pojazd
{
    //metoda jazda
}

plik Osobowy.java

public class Osobowy extends Samochod
{
     //niczego nie musi tu być
}

plik Autobus.java

public class Autobus extends Samochod
{
     //niczego nie musi tu być
}

plik Test.java

import java.util.Scanner;
public class Test
{
    public static void main(String[] args) {
      System.out.println("Wskaż typ samochodu: \n 1.Osobowy \n 2.Autobus"); 
 
      Scanner odczyt = new Scanner(System.in); //obiekt do odebrania danych od użytkownika
 
      String opcja = odczyt.nextLine();
 
        switch (opcja) {
            case "1":
                System.out.println("Wybrano samochód osobowy");
                Osobowy auto = new Osobowy();
                auto.jazda();
                break;
            case "2":
                System.out.println("Wybrano samochód autobus");
                //Tutaj odpalanie
                break;
            default:
                System.out.println("Zły wybór");
                break;
        }
 
 
    }
}
0

**Bardzo **dziękuje, już to podgarnąłem i działa :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1