Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- abstract class Pracownik { // klasa zawierajaca cechy wspolne roznych typow pracownikow
- private static int ilosc; //zlicza ilosc wszystkich pracownikow
- protected long nrPracownika; // dane pracownika
- protected String nazwisko;
- protected double pensja;
- Pracownik (int nrPracownika, String nazwisko, double pensja) {
- this.nrPracownika = nrPracownika;
- this.nazwisko = nazwisko;
- this.pensja = pensja;
- ilosc++; //ilosc zwieksza sie przy wywolaniu konstruktora
- }
- static podajIlosc() { //zwraca ilosc pracownikow
- return ilosc;
- }
- abstract String toString();
- int hashCode() {
- return nrPracownika;
- }
- abstract String getClass();
- }
- interface ObslugaPociagu { //interfejs zawierajacy metody odpowiedzialne za dzialanie roznych pociagow
- void przyspiesz();
- void zwolnij();
- void stop();
- }
- abstract class Pociag {
- long nrSeryjny;
- void stop() {
- while (v > 0) zwolnij();
- };
- final double vmax;
- double v;
- abstract String toString(); //opis pociagu
- abstract String getClass(); //zwraca typ pociagu
- }
- class Towarowy extends Pociag implements ObslugaPociagu {
- vmax = 50;
- public double przyspiesz(){
- v = v + 0.5;
- }
- public double zwolnij(){
- v = v - 0.5
- }
- void stop() {
- while(v>0) zwolnij();
- }
- String getClass(){
- return "towarowy";
- }
- String toString(){
- return ("\n Typ pociagu - " + this.getClass() + "\n predkosc maksymalna - " + this.vmax + "\n aktualna predkosc - " + this.v);
- }
- }
- class Ekspresowy extends Pociag implements ObslugaPociagu { // konstrukcja podobna jak klasy Towarowy
- }
- class Pendolino extends Pociag implements ObslugaPociagu { //Konstrukcja podobna jak klasy Towarowy
- }
- class Konduktor extends Pracownik {
- Konduktor(/*odpowiednie dane do konstruktora*/) {
- super(/*dane*/);
- }
- String getClass() {
- return "Konduktor";
- }
- String toString() {
- return ("\n Rodzaj pracownika - " + this.getClass() + "\n pensja - " + this.pensja);
- }
- }
- class Kasjer extends Pracownik { //konstrukcja podobna do Konduktor
- }
- public class PKP {
- List pracownicy <Pracownik> = new ArrayList(); //kontenery zawierajace obiekty typow Pracownik i Pociag
- List pociagi <Pociag> = new ArrayList();
- try {
- /*dodawanie pracownika lub inny rodzaj przetwarzania listy
- */
- if (tenPracownik.hashcode() == innyPracownik.hashcode()) throw SomeException; //moze byc tylko 1 pracownik o danym numerze
- }
- catch(SomeException e) {}
- catch(/*wyjatek na wypadek wpisania zlych danych*/) {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement