entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

2votos

Android: Duda. Crear nueva clase? o ampliar la existente?

Hola.

Tengo la siguiente clase, la cual utilizo en una activity para mostrar un ListView:

public class InstalacionEnLista implements Comparable<InstalacionEnLista>{

    protected int idInstalacion;
    protected String nombre;
    protected double distancia;

    //Constructor
    public InstalacionEnLista (int idInstalacion, String nombre, double distancia){
        super();
        this.idInstalacion = idInstalacion;
        this.nombre = nombre;
        this.distancia = distancia;

    }

    public InstalacionEnLista (String nombre, double distancia){
        super();
        this.nombre = nombre;
        this.distancia = distancia;
    }

    public InstalacionEnLista (String nombre){
        super();
        this.nombre = nombre;
    }

    //getter
    public int getIdInstalacion(){//lehen public long zegoen
        return idInstalacion;
    }

    public String getNombre(){
        return nombre;
    }

    public double getDistancia(){
        return distancia;
    }

    //setter
    public void setIdInstalacion(){
        this.idInstalacion = idInstalacion;
    }

    public void setNombre(){
        this.nombre = nombre;
    }

    public void setDistancia(){
        this.distancia = distancia;
    }

    //Metodo que permite comparar las distancias para listar las instalaciones ordenadas respecto a la distancia
    @Override
    public int compareTo(InstalacionEnLista other) {
        // TODO Auto-generated method stub

            return Double.compare(this.distancia, other.distancia);

    }

}

El list view que se muestra es este:

enter image description here

Como veis, muy simple.

Ahora en otra activity quiero mostrar otro listView distinto. Algo parecido a esto:

enter image description here

Es decir. Aparecería una imagen + el nombre instalación.
La pregunta es. Debo de crear una nueva clase? o aprobechando la existencia de InstalacionesEnLista.java añado código en la misma?

Saludos!

1 Respuesta

2votos

Leonardo-Tadei Puntos227320

Hola Egoitz,

los buenos principios de la POO, que usan el acrónimo de SOLID dicen que:

Single Responsability Principle
Open Closed Principle
Liskov Substituion Principle
Interface Segregation
Dependancy Inversion Principle

En este caso puntual tendrías que aplicar el principio Open-Close y extender la clase actual. Te dejo acá un par de extractos sobre este tema:

http://otroblogmas.com/solid-los-principios-de-la-programacion-orientada-a-objetos/
http://hadassahcode.wordpress.com/2012/09/11/entrada-1-del-blog/

No vendría demás tampoco una mejor separación MVC ;-)

Saludos!

0voto

egoitz_gonzalez comentado

Después de leer los enlaces que me mandas. Entiendo que debo de crear una nueva clase que extienda (extends InstalacionEnLista) de la actual. No?

0voto

Leonardo-Tadei comentado

Sí, a eso me refería cuando te decía "En este caso puntual tendrías que aplicar el principio Open-Close y extender la clase actual".

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta