Pomoc w programowaniu obiektowym

0

Mam prośbę do Was. Nie wiem czy komuś będzie się chciało ale mam duży problem ze zrozumieniem programowania obiektowego opisanego w książkach, a w internecie materiałów nie ma za wiele, wszystkie są bardzo podobne (opisy są głownie na liczbach co jest dla mnie abstrakcyjne).

Program jest prosty więc nie wiem czy tutaj coś można takiego zastosować. Prosiłbym o przekształcenie programu na wersje obiektową.

import java.util.*;
import java.lang.*;
import java.io.*;

class CodeChef {

    public static void main(String[] args)
    {
        int ilosckm = 100;
        double cenalpg = 2.24;
        double spalanie = 9.0; // spalanie na 100km
        double koszt = (cenalpg * spalanie * ilosckm)/100;
        double calybak = cenalpg * 32;
        
        System.out.println("Aktualna cena 1L LPG to: " + cenalpg);
        System.out.print("Koszt przejechania 100 km to: ");
        System.out.format("%.2f%n", koszt);
        System.out.print("Koszt zatankowania calego baku to: " + calybak);
    }
}

0

Zrób klasę FuelType parametryzowaną ceną danego surowca. Zrób klasę Vehicle parametryzowaną pojemnością baku, spalaniem oraz typem paliwa i niech Vehicle ma metody zwracające koszt przejechania zadanej odległosci oraz koszt całego baku.

Poza tym:

a w internecie materiałów nie ma za wiele

chyba kpisz.

0

Dzięki za odpowiedź i poświecony czas. Jak zawsze początkujący ma [CIACH!] i wszyscy uważają, że pewne rzeczy są oczywiste - to chyba nigdy się nie zmieni. W wyszukiwarce pod haslem java programowanie obiektowe pojawia się zaledwie kilka polskich stron na ten temat. Wiem, że jest 10x więcej materiałow po angielsku który znam ale jeśli coś jest skomplikowane wole to poznać po polsku.

Tak czy inaczej postaram się wg tych materiałów które znalazłem zaimplementować to co poradziłeś.

0

Skąd masz te przykłady? Wyglądają mi na podobne do tych z książek o Javie pana Herberta Schildt'a, a nawet jeżeli nie to lektura tego na pewno Ci pomoże w zrozumieniu problemu.

0

No rzeczywiście materiały o OOP po angielsku są bardzo zaawansowane, słownicto z poziomu C2 :D
Szukaj po angielsku i tyle

0

Jestem na etapie nauki metod. Próbuje przekształcić mój program na taki który zawiera metodę. Czy można to jakoś jeszcze zmodyfikować aby usunąć zbędny kod?

import java.util.*;
import java.lang.*;
import java.io.*;
 
class CodeChef {
 
    public static void main(String[] args)
    {
        double koszt = (cenalpg * spalanie * ilosckm)/100;
        double calybak = cenalpg * 32;

        zuzyciePaliwa(100,2.24,9.0,koszt,calybak);

    }
        public static void zuzyciePaliwa(int ilosckm, double cenalpg, double spalanie, double koszt, double calybak) {
        System.out.println("Aktualna cena 1L LPG to: " + cenalpg);
        System.out.print("Koszt przejechania 100 km to: ");
        System.out.format("%.2f%n", koszt);
        System.out.print("Koszt zatankowania calego baku to: " + calybak);
           
   }
}
0
double koszt = (cenalpg * spalanie * ilosckm)/100;
double calybak = cenalpg * 32;
 

Możesz stworzyć oddzielne metody, w których policzysz sobie koszt itd. Postaraj się nazywać zmienne tak, aby nazwa bardziej odwzorowywała, to za co dana zmienna jest odpowiedzialna.
np.

 double kosztCalegoBaku = cenalpg * 32;

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.