Facebook
From Gracious Mockingjay, 3 Years ago, written in Java.
Embed
Download Paste or View Raw
Hits: 167
  1. public class BrakMiejscaWHangarzeException extends Exception {
  2.  
  3. }
  4.  
  5. =======================================================================
  6.  
  7. public interface Combo extends Jazda, Latanie {
  8.  
  9. }
  10.  
  11. =======================================================================
  12.  
  13. public class Dron implements Combo {
  14.  
  15.         @Override
  16.         public void jedz() {
  17.                 System.out.println("Jedzie");          
  18.         }
  19.        
  20.         public void jedz(int x, int y) throws NiepoprawnyKoordynatyException {
  21.         if(x<0 || y<0){
  22.             throw new NiepoprawnyKoordynatyException();
  23.         }
  24.  
  25.         this.jedz();
  26.         System.out.println("Jedzie na pozycję x i y "+x+" "+y);
  27.     }
  28.  
  29.         @Override
  30.         public void stoj() {
  31.                 System.out.println("Zatrzymuje sie");
  32.                
  33.         }
  34.  
  35.         @Override
  36.         public void lec() {
  37.                 System.out.println("Leci");
  38.                
  39.         }
  40.         public void lec(int x, int y) throws NiepoprawnyKoordynatyException {
  41.         if(x<0 || y<0){
  42.             throw new NiepoprawnyKoordynatyException();
  43.         }
  44.  
  45.         this.lec();
  46.         System.out.println("Leci na pozycję x i y "+x+" "+y);
  47.     }
  48.  
  49. }
  50.  
  51. =======================================================================
  52.  
  53.  
  54. import java.util.ArrayList;
  55.  
  56. public class Hangar {
  57.        
  58.         private int pojemnosc;
  59.         private ArrayList<Pojazd> pojazdy;
  60.        
  61.         public Hangar(int pojemnosc) {
  62.                 this.pojemnosc = pojemnosc;
  63.         }
  64.        
  65.     public void dodajPojazd(Pojazd p) throws BrakMiejscaWHangarzeException {
  66.         if(this.pojemnosc < pojemnosc + 1){
  67.             throw new BrakMiejscaWHangarzeException();
  68.         }
  69.  
  70.         this.pojazdy.add(p);
  71.     }
  72.        
  73.        
  74.  
  75. }
  76. =======================================================================
  77.  
  78.  
  79. public interface Jazda {
  80.        
  81.         void jedz();
  82.         default void jedz(int x, int y) throws NiepoprawnyKoordynatyException {
  83.         if(x<0 || y<0){
  84.             throw new NiepoprawnyKoordynatyException();
  85.         }
  86.  
  87.         System.out.println("Domyślna implementacja...");
  88.     }
  89.         void stoj();
  90.  
  91. }
  92. =======================================================================
  93.  
  94.  
  95. public interface Latanie {
  96.        
  97.         void lec();
  98.         default void lec(int x, int y) throws NiepoprawnyKoordynatyException {
  99.         if(x<0 || y<0){
  100.             throw new NiepoprawnyKoordynatyException();
  101.         }
  102.  
  103.         System.out.println("Domyślna implementacja...");
  104.  
  105.         }
  106. }
  107. =======================================================================
  108.  
  109. public class NiepoprawnyKoordynatyException extends Exception {
  110.  
  111. }
  112. =======================================================================
  113.  
  114. public class Pociag extends Pojazd implements Jazda {
  115.        
  116.         private boolean czyJedzie = false;
  117.        
  118.         public Pociag(int liczbaMiejsc, int capacity) {
  119.                 super(liczbaMiejsc, capacity);
  120.                 // TODO Auto-generated constructor stub
  121.         }
  122.  
  123.         @Override
  124.         public void Wlacz() throws SilnikJuzWlaczonyException {
  125.                 // TODO Auto-generated method stub
  126.                
  127.         }
  128.  
  129.         @Override
  130.         public void jedz() {
  131.                 this.czyJedzie = true;
  132.                
  133.         }
  134.  
  135.         @Override
  136.         public void stoj() {
  137.                 this.czyJedzie = false;
  138.                
  139.         }
  140.        
  141.  
  142.  
  143. }
  144. =======================================================================
  145.  
  146. public abstract class Pojazd implements Silnik, ZaladujTowar {
  147.  
  148.         private int liczbaMiejsc;
  149.     private int capacity;
  150.     private boolean czyWlaczony = false;
  151.  
  152.     public Pojazd(int liczbaMiejsc, int capacity) {
  153.         this.liczbaMiejsc = liczbaMiejsc;
  154.         this.capacity = capacity;
  155.     }
  156.  
  157.     public void Wlacz() throws SilnikJuzWlaczonyException {
  158.                 if(this.czyWlaczony != false) {
  159.                         throw new SilnikJuzWlaczonyException();
  160.                 }
  161.                 czyWlaczony = true;
  162.         }
  163.  
  164.         @Override
  165.         public void Wylacz() {
  166.                 this.czyWlaczony = false;              
  167.         }
  168.        
  169.         @Override
  170.         public void zaladuj(int x) throws PojazdPrzeladowanyException {
  171.                 if(this.capacity < x) {
  172.                         throw new PojazdPrzeladowanyException();
  173.                 }
  174.                 this.capacity += x;
  175.         }
  176.  
  177.        
  178.        
  179.        
  180.         public int getLiczbaMiejsc() {
  181.                 return liczbaMiejsc;
  182.         }
  183.  
  184.         public void setLiczbaMiejsc(int liczbaMiejsc) {
  185.                 this.liczbaMiejsc = liczbaMiejsc;
  186.         }
  187.  
  188.         public int getCapacity() {
  189.                 return capacity;
  190.         }
  191.  
  192.         public void setCapacity(int capacity) {
  193.                 this.capacity = capacity;
  194.         }
  195.  
  196.         public boolean isCzyWlaczony() {
  197.                 return czyWlaczony;
  198.         }
  199.  
  200.         public void setCzyWlaczony(boolean czyWlaczony) {
  201.                 this.czyWlaczony = czyWlaczony;
  202.         }
  203. }
  204. =======================================================================
  205.  
  206.  
  207. public class PojazdPrzeladowanyException extends Exception{
  208.  
  209. }
  210. =======================================================================
  211.  
  212. public class Samolot extends Pojazd implements Latanie {
  213.        
  214.         private int vMax;
  215.         private boolean czyLeci = false;
  216.        
  217.         public Samolot(int liczbaMiejsc, int capacity, int vMax) {
  218.                 super(liczbaMiejsc, capacity);
  219.                 this.vMax = vMax;
  220.         }
  221.  
  222.         @Override
  223.         public void Wlacz() throws SilnikJuzWlaczonyException {
  224.                 // TODO Auto-generated method stub
  225.                
  226.         }
  227.  
  228.         @Override
  229.         public void lec() {
  230.                 this.czyLeci = true;
  231.                 System.out.println("Samolot leci");
  232.         }
  233.  
  234.  
  235.  
  236.  
  237.        
  238.        
  239.  
  240. }
  241. =======================================================================
  242.  
  243.  
  244. public interface Silnik {
  245.        
  246.         void Wlacz() throws SilnikJuzWlaczonyException;
  247.         void Wylacz();
  248.  
  249. }
  250. =======================================================================
  251.  
  252.  
  253. public class SilnikJuzWlaczonyException extends Exception {
  254.  
  255. }
  256.  
  257. =======================================================================
  258.  
  259. public interface ZaladujTowar {
  260.        
  261.         void zaladuj(int x) throws PojazdPrzeladowanyException;
  262.  
  263. }
  264.  
  265.