Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem 3 #3

Open
garciparedes opened this issue Jun 22, 2015 · 3 comments
Open

Problem 3 #3

garciparedes opened this issue Jun 22, 2015 · 3 comments
Assignees

Comments

@garciparedes
Copy link
Owner

No description provided.

garciparedes added a commit that referenced this issue Jun 23, 2015
garciparedes added a commit that referenced this issue Jun 23, 2015
garciparedes added a commit that referenced this issue Jun 23, 2015
@garciparedes garciparedes self-assigned this Jun 24, 2015
@oscar90y5
Copy link

No entiendo pa que vale la interfaz la verda, a ver que te parece como lo he hecho yo:

Constructor sencillito xD:

public Vector(Complejo... lista){
    for(int i=0; i<lista.length; i++){
        this.lista.add(lista[i]);
    }
}

Y asi es como sumo:

public Vector suma(Vector a){
    Complejo[] resultado = new Complejo[this.lista.size()];

    if(this.lista.size()==a.lista.size()){

        for(int i =0;i<this.lista.size();i++){
            resultado[i]=this.lista.get(i).suma(a.lista.get(i));
        }
    }

    return new Vector(resultado);
}

la verdades que no lo he probado pero seguro que funciona ;)

@garciparedes
Copy link
Owner Author

@oscar90y5 Claro que funciona, y está bien pero en el enunciado del ejercicio se pide que el vector sea genérico, es decir, que aunque lo implementemos para complejos sirva para cualquier tipo de objetos que implementen las operaciones indicadas (suma, resta, multiplicación y division).

Por lo cual he decidido crear la interfaz VectorOps, que sirve para restringir el uso de la clase GenericVector solo a objetos que implementen este tipo de operaciones, es decir, sin cambiar nada de la clase GenericVector yo podría usarla para modelar un vector de números racionales implementando la interfaz VectorOps en dicha clase. Para demostrarte que funciona lo voy a hacer usando la clase Racional que hice para el Problema #5

Tu código y el mío hacen exactamente lo mismo pero solo que yo te recomiendo que quites todos los this que no sean necesarios, y también que encapsules las cosas lo máximo posible. Por ejemplo, en vez de poner a.lista.get(i)yo crearía una función en la clase vector que haga lo mismo, y así solo tengas que poner a.getElement(i). De esta manera el código será mucho más fácil de leer y entender.

Problema 3

garciparedes added a commit that referenced this issue Jun 30, 2015
@oscar90y5
Copy link

a vale, esque no entendia para que queria la clase generiaca porque como ya te decia que era pa complejos...
pero caro ahi lo de la interfaz ya tiene mas sentido! muy buena!
y si... podia cambiar eso pero los estoy haciendo rapido que el examen es mañana xD y los this me suele gustar ponerlos, aunque no sean necesarios

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants