Autor |
Mensaje |
Fhran
Administrador
Edad: 39
Registrado: 25 Ago 2005
Mensajes: 3123
Ubicación: En la rama de un árbol... entre locos.
Carrera: Electrónica y Informática
|
|
***************
Abro el topico para discutir sobre el 1er parcial, tomado hoy 27/9/2005 a las 19:00 hs en el Aula 400.
Cuenten un poco como resolvieron los problemas.
1) Respondi que la informacion del enunciado era insuficiente para considerar el diagrama de clases como correcto o incorrecto y planteé un caso en el cual me parecia correcto y otro en el que no.
2) Elegi la opcion (c).Instanciacion
Especializacion no era porque seria "perro" ---> "doberman"
Generalizacion no era porque seria "perro" ---> "animal"
Instanciacion es porque "el perro de Carlota" es un caso particular de "perro". En codigo seria: Perro p_carlota=new Perro("Carlota");
Composicion no era porque seria "perro" ---> "pata_de_perro"
3) Un poco de chamuyo sobre Recoleccion de basura... Java como ejemplo. C++ como ejemplo de lo contrario.
4) Un bardo... me llevo un monton de tiempo entender la idea de "Stringator"... muy rebuscado... pero bué... espero que este bien.
Hice una clase "PuntoStringator" que implementaba la interfaz "Stringator".
Una clase "Punto" que implementaba "InterfazPunto".
Diagrama de clases MAL HECHO:
Esta mal hecho porque no es fiel al codigo que hice... ademas de que no se si el codigo esta bien...
Sigan ustedes...
*************
|
|
|
|
Última edición por Fhran el Jue Mar 08, 2007 1:57 pm, editado 1 vez
|
|
|
|
|
Claus
Fundador
Edad: 41
Registrado: 17 May 2005
Mensajes: 1647
Ubicación: Capital Federal
Carrera: Industrial
|
|
che, fhran, copate y copiate el enunciado, quiero ver que entiendo (nada?)
|
|
|
|
_________________ Tema Libre no es Libertinaje
---------------
SpiderMan is having me for dinner tonight
|
|
|
|
|
Fhran
Administrador
Edad: 39
Registrado: 25 Ago 2005
Mensajes: 3123
Ubicación: En la rama de un árbol... entre locos.
Carrera: Electrónica y Informática
|
|
***********
Esperame a que lo entreguen...
Si agarro voluntad lo trato de recordar.
*********
|
|
|
|
|
|
|
|
|
Fhran
Administrador
Edad: 39
Registrado: 25 Ago 2005
Mensajes: 3123
Ubicación: En la rama de un árbol... entre locos.
Carrera: Electrónica y Informática
|
|
*****************
Hoy 6/10/2005 me entregaron el parcial. Aca les dejo el Enunciado:
1) Supongamos que, en el desarrollo de un sistema de sueldos, un diseñador de software orientado a objetos nos presenta un diagrama de clases que, como subclases de Empleado ha definido dos clases, una EmpleadosVarones y otra EmpleadosMujeres. ¿Podemos decir que este planteo es siempre correcto? ¿Podemos decir que es siempre incorrecto? O, en caso de que las dos respuestas anteriores hayan sido negativas, ¿puede explicar en que caso/s consideraria correcto dicho diseño?
2) Selecion Multiple: Se deben elegir todas las opciones correctas. Justificar.
La relacion entre "el perro de mi vecina Carlota" y "perro" es:
a. Especializacion
b. Generalizacion
c. Instanciacion
d. Composicion
e. Ninguna de las anteriores
3) Explique el mecanismo de recoleccion de basura. ¿Que ventajas e inconvenientes le encuentra comparandolo con un esquema en la que la destruccion de los objetos se hace mediante la llamada explicita a un metodo destructor? ¿Que ejemplos de lenguajes conoce que manejen cada mecanismo?
4) Codificacion y diagrama de clases:
a. Escribir una clase VectoresCadenas que solo contenga dos metodos:
i. Uno, cuya signatura es public static String[] convertir(Object[] v);, tiene como proposito convertir un arreglo de elementos de cualquier clase en un arreglo de cadenas de caracteres, donde a cada elemento se le debe aplicar el metodo toString() definido en Object.
ii. Otro, con una signatura public static String[] convertir(Objetc[] v,Stringator s);, debe permitir hacer lo mismo, pero no utilizando el toString() de Object, sino el definifo para el objeto s. Stringator es una interfaz cuyo unico metodo es uno cuya signatura es String toString(Object o);, y convierte en cadena de caracteres al objeto o.
b. Luego, escribir un programa de prueba, que tome un arreglo de objetos de la clase Punto, definida como se muestra mas adelante, y lo convierta en un arreglo de cadenas, utilizando el segundo metodo implementado. Su implementacion debe ser completa, con todo el codigo necesario (clases, interfaces, atributos, metodos).
La clase Punto implementa la siguiente interfaz:
Código:
|
public interface InterfazPunto {
public double getX();
public double getY();
public void setX(double valor);
public void setY(double valor);
}
|
La conversion a String debe hacerse como en el ejemplo que sigue: "(x = 1.2; y = 2.3)"
c. Finalmente, hacer un diagrama de clases que muestre la solucion implementada.
-------------------------------------------------------------------
Bueno.... se nota que no me anda el scanner...
Aca les dejo la resolucion del punto 4:
VectoresCadenas.java
Código:
|
public class VectoresCadenas {
public static String[] convertir(Object[] v){
String[] aux=new String[v.length];
for(int i=0;i<v.length;i++){
aux[i]=v[i].toString();
}
return aux;
}
public static String[] convertir(Object[] v, Stringator s){
String[] aux=new String[v.length];
for(int i=0;i<v.length;i++){
aux[i]=s.toString(v[i]);
}
return aux;
}
}
|
Stringator.java
Código:
|
public interface Stringator {
public String toString(Object o);
}
|
PuntoStringator.java
Código:
|
public class PuntoStringator implements Stringator {
public String toString(Object o) {
Punto p=(Punto)o;
return p.toString();
}
}
|
InterfazPunto.java
Código:
|
public interface InterfazPunto {
public double getX();
public double getY();
public void setX(double valor);
public void setY(double valor);
}
|
Punto.java
Código:
|
public class Punto implements InterfazPunto {
private double x,y;
public Punto(double x,double y){
setX(x);
setY(y);
}
public double getX() {
return x;
}
public void setX(double x) {
this.x = x;
}
public double getY() {
return y;
}
public void setY(double y) {
this.y = y;
}
public String toString(){
return new String("(x="+getX()+";y="+getY()+")");
}
}
|
Principal.java
Código:
|
public class Principal {
public static void main(String[] args) {
Punto[] puntos=new Punto[10];
for(int i=0;i<10;i++){
puntos[i]=new Punto(i,i*0.1);
}
PuntoStringator ps=new PuntoStringator();
VectoresCadenas.convertir(puntos,ps);
/* Esto lo agregue recien para verificar que funcione... y anda bien!!!
String[] s=VectoresCadenas.convertir(puntos,ps);
for(int i=0;i<10;i++){
System.out.println(s[i]);
}
*/
}
}
|
*******************
|
|
|
|
|
|
|
|
|
Fhran
Administrador
Edad: 39
Registrado: 25 Ago 2005
Mensajes: 3123
Ubicación: En la rama de un árbol... entre locos.
Carrera: Electrónica y Informática
|
|
_________________
El horóscopo del ingeniero es un poco más amplio. Se compone de Amor, Dinero, Salud, Simetría y Linealidad Causa-Efecto.
|
|
|
|
|
pablo.martin.viva
Nivel 3
Registrado: 28 May 2006
Mensajes: 46
Ubicación: Capital Federal
Carrera: Sistemas
|
|
Yo todavia recuerdo ese parcial con Fontela, las respuestas son muy parecidas a las que puse yo en mi parcial, y el còdigo tambien, al final termine obteniendo un 8 como resultado del parcial, muy bueno que hayas posteado los enunciados y las respuestas.
Saludos
PABLO
|
|
|
|
|
|
|
|
|
|
|
Ver tema siguiente
Ver tema anterior
Podés publicar nuevos temas en este foro No podés responder a temas en este foro No podés editar tus mensajes en este foro No podés borrar tus mensajes en este foro No podés votar en encuestas en este foro No Podéspostear archivos en este foro No Podés bajar archivos de este foro
|
Todas las horas son ART, ARST (GMT - 3, GMT - 2 Horas)
Protected by CBACK CrackerTracker365 Attacks blocked.
|