Advertisement
kikosiak

Untitled

Dec 17th, 2019
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.54 KB | None | 0 0
  1. abstract class Wydarzenie {
  2.     abstract void wyswietlWydarzenie();
  3. }
  4. abstract class isCreate {
  5.     protected abstract Wydarzenie create();
  6.  
  7.     void use(){
  8.         Wydarzenie event = create();
  9.         event.wyswietlWydarzenie();
  10.     }
  11. }
  12. import java.util.Date;
  13.  
  14. abstract class Mecz extends Wydarzenie {
  15.     private String przeciwnik;
  16.     private Date data;
  17.     Mecz(Date data,String przeciwnik) {
  18.         this.przeciwnik = przeciwnik;
  19.         this.data = data;
  20.     }
  21.  
  22.     @Override
  23.     void wyswietlWydarzenie() {
  24.         System.out.println("Mecz data: "+data+" przeciwnik: "+przeciwnik);
  25.     }
  26. }
  27. import java.util.Date;
  28.  
  29. abstract class Trening extends Wydarzenie {
  30.     private Date data;
  31.     Trening(Date data) {
  32.         this.data = data;
  33.     }
  34.  
  35.     @Override
  36.     void wyswietlWydarzenie() {
  37.         System.out.println("Trening data: "+data);
  38.     }
  39. }
  40. import java.util.Date;
  41.  
  42. class MeczDomowy extends Mecz {
  43.  
  44.     MeczDomowy(Date data, String przeciwnik) {
  45.         super(data,przeciwnik);
  46.     }
  47. }
  48. import java.util.Date;
  49.  
  50. class MeczWyjazdowy extends Mecz {
  51.     private String miejsce;
  52.     MeczWyjazdowy(String przeciwnik, Date data, String miejsce) {
  53.         super(data, przeciwnik);
  54.         this.miejsce=miejsce;
  55.     }
  56.  
  57.     @Override
  58.     void wyswietlWydarzenie() {
  59.         super.wyswietlWydarzenie();System.out.println(" miejsce wydarzenia: "+miejsce);
  60.     }
  61. }
  62. import java.util.Date;
  63.  
  64. class Silowania extends Trening {
  65.     private String nazwa;
  66.  
  67.     Silowania(Date data, String nazwa) {
  68.         super(data);
  69.         this.nazwa=nazwa;
  70.     }
  71.     @Override
  72.     void wyswietlWydarzenie() {
  73.         super.wyswietlWydarzenie();System.out.println("nazwa silowni: "+nazwa);
  74.     }
  75. }
  76. import java.util.Date;
  77.  
  78. class ZwyklyTrening extends Trening {
  79.     private String rodzajTreningu;
  80.  
  81.     ZwyklyTrening(Date data, String rodzaj) {
  82.         super(data);
  83.         this.rodzajTreningu=rodzaj;
  84.  
  85.     }
  86.     @Override
  87.     void wyswietlWydarzenie() {
  88.         super.wyswietlWydarzenie();System.out.println("rodzaj treningu: "+rodzajTreningu);
  89.     }
  90. }
  91. import java.util.Date;
  92.  
  93. public class CreateMeczDomowy extends isCreate {
  94.     Date data;
  95.     private String przeciwnik;
  96.     CreateMeczDomowy(Date data,String przeciwnik){
  97.         this.data = data;
  98.         this.przeciwnik = przeciwnik;
  99.     }
  100.     @Override
  101.     protected Wydarzenie create() {
  102.         return new MeczDomowy(data,przeciwnik);
  103.     }
  104. }
  105. import java.util.Date;
  106.  
  107. public class CreateMeczWyjazdowy extends isCreate {
  108.     private Date data;
  109.     private String przeciwnik;
  110.     private String miejsce;
  111.     CreateMeczWyjazdowy(Date data, String przeciwnik, String miejsce){
  112.        this.data = data;
  113.        this.przeciwnik = przeciwnik;
  114.        this.miejsce = miejsce;
  115.     }
  116.     @Override
  117.     protected Wydarzenie create() {
  118.         return new MeczWyjazdowy(przeciwnik,data,miejsce) {
  119.         };
  120.     }
  121. }
  122. import java.util.Date;
  123.  
  124. public class CreateSilownia extends isCreate {
  125.  
  126.     Date data;
  127.     private String nazwa;
  128.     CreateSilownia(Date data,String nazwa){
  129.         this.data = data;
  130.         this.nazwa = nazwa;
  131.     }
  132.     @Override
  133.     protected Wydarzenie create() {
  134.         return new Silowania(data,nazwa);
  135.     }
  136. }
  137. import java.util.Date;
  138.  
  139. public class CreateZwykly extends isCreate {
  140.     Date data;
  141.     private String rodzaj;
  142.  
  143.     CreateZwykly(Date data, String rodzaj) {
  144.         this.data = data;
  145.         this.rodzaj = rodzaj;
  146.     }
  147.  
  148.     @Override
  149.     protected Wydarzenie create() {
  150.         return new ZwyklyTrening(data,rodzaj);
  151.     }
  152. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement