Advertisement
teslariu

mas sobre interfaces

Nov 23rd, 2023
1,050
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.29 KB | None | 0 0
  1. /*
  2. * Clases abstractas, concretas, polimorfismo, interfaces
  3. *
  4. *
  5. *
  6. */
  7.  
  8.  
  9. public class Cliente {
  10.    
  11.     String cuit;                              
  12.     String direccion;
  13.     float saldo;
  14.    
  15.     public void extraer(int monto) {
  16.         if (saldo >= monto){
  17.             saldo = saldo - monto
  18.         }
  19.     }
  20.    
  21. }
  22.  
  23.  
  24. class ClientePyme extends Cliente {
  25.    
  26.     String razonSocial;
  27.     float descubierto;
  28.    
  29.     public void extraer(int monto) {
  30.         if (saldo + descubierto >= monto){
  31.             saldo = saldo - monto
  32.         }
  33. }
  34.  
  35. abstract class Vehiculo{
  36.     boolean conductor;
  37.     boolean motor;
  38.    
  39.     abstract void mover();
  40.     }
  41.  
  42.  
  43. ///////////////////////////////////////////////////
  44.  
  45. ////  INTERFAZ UNICA
  46.  
  47. public interface Vehiculo(
  48.     public float maxVel;
  49.     public void arrancar();
  50.     public void detener();
  51. )
  52.  
  53. public class Auto implements Vehiculo(
  54.     public void arrancar(){
  55.             System.out.println("Arrancando...");
  56.     }
  57.    
  58.     public void detener(){
  59.             System.out.println("Deteniendo...");
  60.     }
  61. )
  62.  
  63. // Creo un auto
  64. Vehiculo miAuto = new Auto();
  65.  
  66.  
  67. //  polimorfismo
  68. public class Camion implements Vehiculo(
  69.     public void arrancar(){
  70.             System.out.println("Arrancando el camión...");
  71.     }
  72.    
  73.     public void detener(){
  74.             System.out.println("Deteniendo el camión...");
  75.     }
  76. )
  77.  
  78. // Creo un camión
  79. Vehiculo miCamion = new Camion();
  80.  
  81.  
  82. //// INTERFACES MULTIPLES
  83. public interface GPS{
  84.     public String getCoordenadas();            
  85. }
  86.  
  87. public interface Radio {                      
  88.     public void encenderRadio();
  89.     public void apagarRadio();
  90. }
  91.  
  92. public class Smartphone implements GPS,Radio {
  93.     public String getCoordenadas(){
  94.             // return coordenadas;
  95.     }
  96.    
  97.     public void encenderRadio(){
  98.             System.out.println("Encendiendo radio...");
  99.     }
  100.    
  101.     public void apagarRadio(){
  102.             System.out.println("Apagando radio...");
  103.     }
  104.  
  105. }
  106.  
  107.  
  108. /// Clase final: es una clase QUE NO PUEDE SER EXTENDIDA (no se puede heredar,no puede tener subclases)
  109.  
  110. final class Persona{
  111.    
  112.     String Nombre;
  113.     String Apellido;
  114.     int DNI;
  115.    
  116.     /// getters y setters
  117.     // puedo declarar algun metodo final
  118.     final void mostrar(){
  119.             System.out.println("No tengo hereredos...");
  120.         }
  121.     }
  122.  
  123. // Un atributo de Clase tambien llamados ESTATICOS: pertenece a TODA LA CLASE
  124. // y no a un objeto en particular; son estaticos (constantes)
  125.  
  126. clase Perro:
  127. a. metodos: correr, jugar, caminar, saltar, etc
  128. b. atributos: raza, especie = "Canis familiaris"
  129.  
  130. /// Mas sobre interfaces
  131.  
  132. //// INTERFACES MULTIPLES con igual firma
  133. public interface GPS{
  134.     public String getCoordenadas();            
  135. }
  136.  
  137. public interface Radio {                      
  138.     public void encender();
  139.     public void apagar();
  140.     public void siguiente(){
  141.         // proxima radio
  142.     }
  143. }
  144.  
  145. public interface ReproductorMusica {                      
  146.     public void encender();
  147.     public void apagar();
  148.     public void siguiente(){
  149.         // proxima cancion
  150.     }
  151. }
  152.  
  153.  
  154. public class Smartphone implements GPS,Radio,ReproductorMusica {
  155.     public String getCoordenadas(){
  156.             // return coordenadas;
  157.     }
  158.    
  159.     // aca irian los metodos
  160.     public void siguiente(){
  161.         Reproductor.super.siguiente(); // llamo el metodo en reproductor musica
  162.     }
  163. }
  164.  
  165.  
  166. // llamada:
  167. Smartphone moto = new Smartphone();
  168. moto.siguiente();    // reproduce siguiente cancion en el reproductor de musica
  169.  
  170. // herencia de interfaz
  171.  public interface A{
  172.      }
  173.  
  174.  public interface B extends A{
  175.      }
  176.  
  177.  
  178.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement