Advertisement
Andrei_M

Inheritance 1

Nov 6th, 2019
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.47 KB | None | 0 0
  1. abstract class Plane
  2. {
  3.     protected  int memberID = 0; //protected inseamna ca si subclasele au acces la ele, nu mai ai nevoie de functie
  4.     private int EnginePower;
  5.     protected static int counter = 0;
  6.    
  7.     public Plane(int EnginePower)
  8.     {
  9.         this.EnginePower = EnginePower;
  10.         this.counter++;
  11.         this.memberID = counter;
  12.     }
  13.    
  14.     public String GetPlaneID()
  15.     {
  16.         return String.valueOf(memberID);
  17.     }
  18.    
  19.     public int getTotalEnginePower()
  20.     {
  21.         return EnginePower;
  22.     }
  23.    
  24.     public void takeOff()
  25.     {
  26.         System.out.println(this.memberID + " takeOff!\n");
  27.        
  28.     }
  29.    
  30.     public void land()
  31.     {
  32.         System.out.println(this.memberID + " land!\n");
  33.     }
  34.    
  35.     public void fly()
  36.     {
  37.         System.out.println(this.memberID + " fly!\n");
  38.     }
  39. }
  40. //---------------------------------------------------------------
  41. abstract class Passenger extends Plane
  42. {
  43.     private int maxPassengers;
  44.    
  45.     public Passenger (int maxPassengers, int EnginePower)
  46.     {
  47.         super(EnginePower); //super takes the information to the super class, so it goes back to Plane
  48.         this.maxPassengers = maxPassengers;
  49.        
  50.     }
  51.    
  52.     public int getMaxPassengers()
  53.     {
  54.         return maxPassengers;
  55.     }
  56.    
  57. }
  58.  
  59. class Concorde extends Passenger
  60. {
  61.     public Concorde(int maxPassengers, int EnginePower)
  62.     {
  63.         super(maxPassengers, EnginePower); //goes back to Passenger
  64.        
  65.     }
  66.    
  67.     public void goSuperSonic()
  68.     {
  69.         System.out.println(this.memberID + " Supersonic mode activated!\n");
  70.     }
  71.     public void goSubSonic()
  72.     {
  73.         System.out.println(this.memberID + " Supersonic mode deactivated!\n");
  74.     }
  75. }
  76.  
  77. class Boeing extends Passenger
  78. {
  79.     public Boeing(int maxPassengers, int EnginePower)
  80.     {
  81.         super(maxPassengers, EnginePower);
  82.      
  83.     }
  84.    
  85. }
  86. //---------------------------------------------------------------
  87. abstract class Fighter extends Plane
  88. {
  89.     public Fighter(int EnginePower)
  90.     {
  91.         super(EnginePower);
  92.     }
  93.    
  94.     public void launchMissile()
  95.     {
  96.         System.out.println(this.memberID + " Launching rocket!\n");
  97.     }
  98.  
  99. }
  100.  
  101. class MIG extends Fighter
  102. {
  103.     public MIG(int EnginePower)
  104.     {
  105.         super(EnginePower);
  106.      
  107.     }
  108.        
  109.     public void highSpeedGeometry()
  110.     {
  111.         System.out.println(this.memberID + " High speed selected geometry!\n");
  112.     }
  113.    
  114.     public void normalGeometry()
  115.     {
  116.         System.out.println(this.memberID + " Normal selected geometry!\n");
  117.     }
  118. }
  119.  
  120. class TomCat extends Fighter
  121. {
  122.     public TomCat(int EnginePower)
  123.     {
  124.         super(EnginePower);
  125.      
  126.        
  127.     }
  128.  
  129.     public void refuel()
  130.     {
  131.         System.out.println(this.memberID + " TomCat - Refuelling!\n");
  132.     }
  133. }
  134.  
  135.  
  136. //---------------------------------------------------------------
  137. class Main
  138. {
  139.     public static void main(String args[])
  140.     {
  141.         Plane p1, p2, p3, p4;
  142.        
  143.         p1 = new Concorde(10, 1000);
  144.         p2 = new Boeing(5, 500);
  145.        
  146.         p3 = new MIG(2000);
  147.         p4 = new TomCat(1500);
  148.        
  149.         ((Concorde)p1).goSuperSonic();
  150.         ((Concorde)p1).goSubSonic();
  151.         ((Concorde)p1).takeOff();
  152.        
  153.         ((Boeing)p2).land();
  154.        
  155.         ((MIG)p3).land();
  156.        
  157.        
  158.         ((TomCat)p4).refuel();
  159.         ((TomCat)p4).launchMissile();
  160.        
  161.        
  162.     }
  163. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement