Budowanie klas oraz konstruktorów.

0

Witam.

Dostałem zadanie, które daje mi możliwość zakończenia przedmiotu jakim jest Java na II roku. Niestety jako laik w tej specjalizacji nic nie rozumiem. Prosiłbym jednak o jakąkolwiek pomoc, bądź nakierowanie.

Z góry dziękuję za pomoc.

Pozdrawiam.

0

Prosiłbym jednak o jakąkolwiek pomoc, bądź nakierowanie.

Noo, to najpierw:
1.Zrób klasę Pojazd
2.Dodaj pola marka, model, typ, nr rej, VIN, rok produkcji
3.Dodaj konstruktor
4.Dodaj metody do zmiany nr rejestracyjnego i do zwrócenia wieku pojazdu.

@furious programming dodałem cytat, ale chyba poprawnie, nie ?

2

Napisałem to z nudów:

Kod pliku Car.java:

public class Car
{
    private String mark;
    private String model;
    private String type;
    private String registration;
    private String vin;
    private int year;

    public Car(String mark, String model, String type, String registration, String vin, int year)
    {
        this.mark = mark;
        this.model = model;
        this.type = type;
        this.registration = registration;
        this.vin = vin;
        this.year = year;
    }

    public String getMark()
    {
        return this.mark;
    }

    public String getModel()
    {
        return this.model;
    }

    public String getType()
    {
        return this.type;
    }

    public String getRegistration()
    {
        return this.registration;
    }

    public void setRegistration(String value)
    {
        this.registration = value;
    }

    public String getVIN()
    {
        return this.vin;
    }

    public int getYear()
    {
        return this.year;
    }
}

Czy to jest takie trudne do zrobienia?????

0

@drorat1 - Na wstępie dziękuję za pomoc.

Chciałbym zaznaczyć, że dla osoby, która nie siedzi w żadnym stopniu w programowaniu jest to niezwykle trudne. Natomiast od następnego semestru zaczynam swoją specjalizację, jaką jest Sieci komputerowe.

Jeszcze raz jestem wdzięczny za pomoc.

Pozdrawiam.

0

Witam ponownie.

Podczas kompilacji pojawia się nastepujący błąd:

Error: Main method not found in class Car, please define the main method as:
public static void main(String[] args)

Czy ktoś mógłby pomóc w rozwiązaniu danego problemu - co tu należy zdefiniować ?

2

Wkleiłeś kod nie tam gdzie trzeba. Musisz najpierw utworzyć nową klasę, która będzie Twoją klasą Car (New --> Java Class) a następnie wkleić gotowy kod. Wyprzedzając pytanie obiekt utworzysz w klasie głównej przykładowo w sposób:

Car obiekt = new Car("Lexus", "IS300", "sedan", "NO62372", "VIN357875275327", 2000);
2

@arak1488 nie chce cię martwić ale jeśli uważasz że sieciowcowi/adminowi nie jest potrzebna dobra znajomość programowania to bardzo ale to bardzo się mylisz. Fakt że może akurat nie w javie tylko w pythonie/rubym, ale to zupełny szczegół. Niestety ale nie wróżę ci przyszłości w tej branży.

0
Shalom napisał(a):

@arak1488 nie chce cię martwić ale jeśli uważasz że sieciowcowi/adminowi nie jest potrzebna dobra znajomość programowania to bardzo ale to bardzo się mylisz. Fakt że może akurat nie w javie tylko w pythonie/rubym, ale to zupełny szczegół. Niestety ale nie wróżę ci przyszłości w tej branży.

Pracuję jako administrator sieci już jakiś czas (mniej niż 2 lata). Ponadto uczestniczę w wielu projektach spod szyldu Microsoft. Więc jako osoba słaba z programowania mogę śmiało stwierdzić - nie jest (bynajmniej w mojej pracy) potrzebne.
Teraz dochodzi bezpieczeństwo systemów informatycznych.

Ale być może Wy więcej wiecie, z racji na dłuższe doświadczenie, co powoduje, że nie chcę się spierać.

Kolega @niezdecydowany widzę lubi być w każdym temacie :)

Co do programu - zaraz po pracy do niego zasiądę i zerknę.

Pozdrawiam.

2

Ja w tym kodzie co go tu wyżej wstawiłem założyłem, że wszystkie pola są wymagane. Natomiast tu jest ciekawy przykład wzorca Builder, gdzie jest założenie, że niektóre pola są opcjonalne:

https://jlordiales.wordpress.com/2012/12/13/the-builder-pattern-in-practice/

Rozumiem że więcej niż jeden konstruktor w klasie czyli np:

 public Car(String mark, String model, String type, String registration)
 public Car(String mark, String model, String type, String registration, String vin)
 public Car(String mark, String model, String type, String registration, String vin, int year)

to marnej jakości rozwiązanie???

0

Słabe rozwiązanie z tego wzlędu, że:

  • jeśli dochodzi nowe pole w klasie które też musi zostać dodane w konstruktorze co dodatkowo komplikuje już istniejące konkstruktory
  • nie możesz mieć więcej niż 1 konstruktor o takiej samej sygnaturze
  • musisz co chwilę sprawdzać kolejność argumentów
  • i parę innych wad

Polecam Item 1 i Item 2 Effective Java 2nd ed.

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