Advertisement
Guest User

Untitled

a guest
Apr 26th, 2015
196
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.49 KB | None | 0 0
  1. abstract class Pracownik { // klasa zawierajaca cechy wspolne roznych typow pracownikow
  2.    
  3.     private static int ilosc; //zlicza ilosc wszystkich pracownikow
  4.     protected long nrPracownika; // dane pracownika
  5.     protected String nazwisko;
  6.     protected double pensja;
  7.    
  8.     Pracownik (int nrPracownika, String nazwisko, double pensja) {
  9.         this.nrPracownika = nrPracownika;
  10.         this.nazwisko = nazwisko;
  11.         this.pensja = pensja;
  12.         ilosc++; //ilosc zwieksza sie przy wywolaniu konstruktora
  13.     }
  14.     static podajIlosc() { //zwraca ilosc pracownikow
  15.         return ilosc;
  16.     }
  17.     abstract String toString();
  18.     int hashCode() {
  19.         return nrPracownika;
  20.     }
  21.     abstract String getClass();
  22. }
  23.  
  24. interface ObslugaPociagu { //interfejs zawierajacy metody odpowiedzialne za dzialanie roznych pociagow
  25.     void przyspiesz();
  26.     void zwolnij();
  27.     void stop();
  28. }
  29.  
  30. abstract class Pociag {
  31.    
  32.     long nrSeryjny;
  33.     void stop() {
  34.         while (v > 0) zwolnij();
  35.     };
  36.     final double vmax;
  37.     double v;
  38.     abstract String toString(); //opis pociagu
  39.     abstract String getClass(); //zwraca typ pociagu
  40. }
  41.  
  42. class Towarowy extends Pociag implements ObslugaPociagu {
  43.    
  44.     vmax = 50;
  45.    
  46.     public double przyspiesz(){
  47.         v = v + 0.5;
  48.     }
  49.     public double zwolnij(){
  50.         v = v - 0.5
  51.     }
  52.     void stop() {
  53.         while(v>0) zwolnij();
  54.     }
  55.     String getClass(){
  56.         return "towarowy";
  57.     }
  58.     String toString(){
  59.         return ("\n Typ pociagu - " + this.getClass() + "\n predkosc maksymalna - " + this.vmax + "\n aktualna predkosc - " + this.v);
  60.     }
  61. }
  62.  
  63. class Ekspresowy extends Pociag implements ObslugaPociagu { // konstrukcja podobna jak klasy Towarowy
  64.    
  65. }
  66.  
  67. class Pendolino extends Pociag implements ObslugaPociagu { //Konstrukcja podobna jak klasy Towarowy
  68.    
  69. }
  70.  
  71. class Konduktor extends Pracownik {
  72.     Konduktor(/*odpowiednie dane do konstruktora*/) {
  73.         super(/*dane*/);
  74.     }
  75.     String getClass() {
  76.         return "Konduktor";
  77.     }
  78.     String toString() {
  79.         return ("\n Rodzaj pracownika - " + this.getClass() + "\n pensja - " + this.pensja);
  80.     }
  81. }
  82.  
  83. class Kasjer extends Pracownik { //konstrukcja podobna do Konduktor
  84.    
  85. }
  86.  
  87. public class PKP {
  88.    
  89.     List pracownicy <Pracownik> = new ArrayList(); //kontenery zawierajace obiekty typow Pracownik i Pociag
  90.     List pociagi <Pociag> = new ArrayList();
  91.    
  92.     try {
  93.         /*dodawanie pracownika lub inny rodzaj przetwarzania listy
  94.        
  95.        
  96.         */
  97.         if (tenPracownik.hashcode() == innyPracownik.hashcode()) throw SomeException; //moze byc tylko 1 pracownik o danym numerze
  98.     }
  99.     catch(SomeException e) {}
  100.     catch(/*wyjatek na wypadek wpisania zlych danych*/) {
  101.     }
  102. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement