blackpab

Java Dziedziczenie

Mar 20th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.25 KB | None | 0 0
  1. package telefony;
  2. public class Telefony {
  3.    
  4.     public static void main(String[] args) {
  5.        
  6.         //referencjom poszczegolnych typow mozna przypisac  obiekty odpowiadajacych typow
  7.         Telefon t1 = new Telefon();
  8.         TelefonStacjonarny t2 = new TelefonStacjonarny();
  9.         TelefonKomorkowy t3 = new TelefonKomorkowy();
  10.         TelefonInternetowy t4 = new TelefonInternetowy();        
  11.        
  12.         //na rzecz obiektow klas pochodnych mozna wywolac metody klasy bazowej
  13.         t1.obliczKwoteDoZaplaty();
  14.         t2.obliczKwoteDoZaplaty();
  15.         t3.obliczKwoteDoZaplaty();
  16.         t4.obliczKwoteDoZaplaty();
  17.        
  18.         //na rzecz obiektu i klasy bazowej NIE MOZNA wywolac metod i klas pochodnych
  19.         //t1.wyslijSMS("1234", "fsdfsafs"); // tak NIE MOZNA
  20.        
  21.         //referencjom typu klasy bazowej mozna przypisac obiekty klas pochodnych
  22.         Telefon t5 = new TelefonKomorkowy();
  23.         Telefon t6 = new TelefonInternetowy();
  24.         Telefon t7 = new TelefonStacjonarny();
  25.        
  26.         //referencjom klas pochodnych NIE MOZNA przypisac obiektow klasy podstawowej
  27.         //TelefonInternetowy t8 = new Telefon();
  28.         //TelefonKomorkowy t9 = new Telefon();
  29.         //TelefonStacjonarny t10 = new Telefon();
  30.        
  31.         t1 = t2; //t1 Telefon, t2 TelefonStacjonarny //przypisalismy referencje typu t2 do referencji typu t1
  32.         //referencja t1 moze zawierac odwolania do obiektow klasy bazowej i pochodnej
  33.         //referencja t2 moze zawierac odowlania do obiektow typu TelefonStacjonarny();
  34.         t2 = (TelefonStacjonarny)t1; //Przyklad Rzutowania
  35.        
  36.  
  37.         //t4 = (TelefonInternetowy)t3; //raczej nie mozna
  38.        
  39.         if(t1 instanceof TelefonStacjonarny) {
  40.             t2 = (TelefonStacjonarny)t1; //przyklad rzutowania
  41.         } else {
  42.             System.out.println("Nie mozna rzutowac");
  43.         }
  44.        
  45.     }    
  46. }
  47.  
  48. //---------------------------------------------------------------------------------------------
  49.  
  50. package telefony;
  51.  
  52. public class Telefon {
  53.     String numerTelefonu;
  54.     int lacznyCzasRozmow;
  55.     double cenaRozmowy;
  56.    
  57.     void zadzwon(String nr) {
  58.         System.out.println("Dzwonie pod numer: " + nr);
  59.     }
  60.    
  61.     double obliczKwoteDoZaplaty() {
  62.         return 0;
  63.     }
  64.    
  65.     void ustawCeneRozmowy(double cena) {
  66.        cenaRozmowy = cena;
  67.     }  
  68. }
  69.  
  70. //-----------------------------------------------------------------------------------------------
  71.  
  72. package telefony;
  73.  
  74. public class TelefonStacjonarny extends Telefon{
  75.     String prefix;
  76.  
  77.     TelefonStacjonarny() {
  78.         this.cenaRozmowy = 1;
  79.     }
  80. }
  81.    
  82. // ----------------------------------------------------------------------------
  83. package telefony;
  84.  
  85. public class TelefonInternetowy extends Telefon {
  86.     String identyfikator;
  87.    
  88.     boolean SprawdzPolaczenie() {
  89.         return true;
  90.     }
  91. }
  92.  
  93. // --------------------------------------------------------------------------------
  94. package telefony;
  95.  
  96. public class TelefonKomorkowy extends Telefon{
  97.     String operator;
  98.    
  99.     void wyslijSMS(String numer, String tekst) {
  100.         System.out.println("Wysylam sms o tresci: " + tekst + " do " + numer);
  101.     }
  102.    
  103. /*
  104. Modyfiaktory:
  105. public
  106. private
  107. protected
  108. default - brak modyfikatora
  109. */
Add Comment
Please, Sign In to add comment