Skip to content
Snippets Groups Projects
Select Git revision
  • master
1 result

Abiertos.java

Blame
  • Forked from an inaccessible project.
    carlos Noé's avatar
    carmuno authored
    update examenes correciones y +.
    0ca34638
    History
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    Abiertos.java 1.52 KiB
    
    package EjemploDeExamenParaPracticar;
    
    import java.time.LocalDateTime;
    import java.util.ArrayList;
    
    /**
     * @author Carlos Noé Muñoz 
     * @version 1.0
     * 
     */
    
    public class Abiertos extends Billete{
    		
    	private String nombre;
    	private static ArrayList <String> personas =  new ArrayList<String>();
    	private static final double FIJO = 1.10;
    	
    	//se supone que independientemente de que instancies un objeto u otro, la lista de persona que tenemos queremso que sea siempre la misma
    	// y que no se reinicie cada vez que se instancie la clase.
    	
    	public Abiertos(LocalDateTime fechaYhora, String inicioTrayecto, String finTrayecto, String nombre){
    		super(fechaYhora, inicioTrayecto, finTrayecto);
    		this.nombre = nombre;
    	}
    	
    	public Abiertos(String inicioTrayecto, String  finTrayecto, String nombre) {
    		super(null,  finTrayecto, finTrayecto); //ya se que esta mal, pq si le pasas una hora nula en la superclase
    		//petaria pero no se me ocuure hacerlo de otra manera a no ser que pongamos la clase abiertos como superclase pero tendramos derivados 
    		//otros probalemas como la creación de aun arraylist para todos cuando solo lo queremso para abiertos.
    		//aademás t dice que puede elegir que no tenga hora "puede", de ahi a la construcción de dos constructores.
    		this.nombre = nombre;
    	}
    	@Override
    	public String toString() {
    		return "Hola soy un billete de abierto a la vida";
    	}
    	@Override
    	public double getPrecio() {
    		if(personas.contains(nombre)) {
    			return super.getPrecio();			
    		}
    		else {
    			return super.getPrecio() * FIJO;						
    		}
    	}
    }