La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Introducción a la Programación Orientada a Objetos VRacional Racional [] arreglo > VRacional (max : entero) > establecerElem (pos : entero, elem : Racional)

Presentaciones similares


Presentación del tema: "Introducción a la Programación Orientada a Objetos VRacional Racional [] arreglo > VRacional (max : entero) > establecerElem (pos : entero, elem : Racional)"— Transcripción de la presentación:

1 Introducción a la Programación Orientada a Objetos VRacional Racional [] arreglo > VRacional (max : entero) > establecerElem (pos : entero, elem : Racional) copy (v: VRacional) Tipos de Datos Abstractos Vector de Racionales Asume que la posición es válida Los elementos del vector se referencian desde los clientes con posiciones 1 y la cantidad de elementos

2 Introducción a la Programación Orientada a Objetos VRacional Racional [] arreglo > existePos (p : entero): boolean existeElem (r : Racional) : boolean obtenerElem (p : entero) : Racional cantElems () : entero prodEscalar(v : VRacional) : Racional suma (v : VRacional ) : VRacional escalarXVRacional(e : Racional) : VRacional equals (v : VRacional) : boolean clone () : VRacional Tipos de Datos Abstractos Vector de Racionales Asume que las longitudes son consistentes Asume que la posición es válida. Compara las referencias

3 Introducción a la Programación Orientada a Objetos Tipos de Datos Abstractos Vector de Racionales public class VRacional { private Racional[] arreglo; \\ Constructor public VRacional(int m){ arreglo=new Racional[m]; } \\ Comandos public void establecerElem(int p, Racional val) { \\Asume que la posición es válida arreglo[p-1] = val; } arreglo es una variable que referencia a un objeto, VRacional es una clase a partir de la cual se crearán objetos

4 Introducción a la Programación Orientada a Objetos Tipos de Datos Abstractos Vector de Racionales \\ Consultas public boolean existePos (int p) { return p > 0 && p <= arreglo.length; } public Racional obtenerElem (int p){ \\Asume que la posición es válida return arreglo[p-1]; } public int cantElems () { return arreglo.length; }

5 Introducción a la Programación Orientada a Objetos Tipos de Datos Abstractos Vector de Racionales \\ Consultas public boolean equals(Vector v) { int i=0; boolean iguales=cantElems()==v.cantElems(); while (i<arreglo.length)&&(iguales)) { iguales= (arreglo[i]==v.obtenerElemento(i+1)); i++;} return iguales; } public Vector clone() { Vector v= new Vector(arreglo.length); for (int i=0; i<arreglo.length;i++) v.establecerElemento(i+1, arreglo[i]); return v; } SUPERFICIAL

6 Introducción a la Programación Orientada a Objetos Tipos de Datos Abstractos Vector de Racionales \\ Consultas public boolean equals(VRacional v) { \\ profundidad } public VRacional clone() { \\ profundidad }

7 Introducción a la Programación Orientada a Objetos Tipos de Datos Abstractos Vector de Racionales \\ Consultas public Racional prodEscalar(VRacional v) { \\Asume que las longitudes son consistentes Racional pe= new Racional(0,1); Racional r; for (int i=0;i<=arreglo.length;i++) r=arreglo[i].producto(v.obtenerElem(i+1)); pe= pe.suma(r); return pe; }

8 Introducción a la Programación Orientada a Objetos Tipos de Datos Abstractos Vector de Racionales \\ Consultas public boolean equals(VRacional v) { \\ superficial int i=0; boolean salida=true; while (i<arreglo.length)&&(salida)) { salida= (arreglo[i]==v.obtenerElem(i+1)); i++;} return salida; } public VRacional clone() { \\ superficial VRacional v= new VRacional(arreglo.length); for (int i=0; i<arreglo.length;i++) v.establecerElem(i+1, arreglo[i]); return v; }

9 Introducción a la Programación Orientada a Objetos Tipos de Datos Abstractos Vector de Racionales \\ Consultas public boolean equals(VRacional v) { \\ profundidad int i=0; boolean salida=true; while (i<arreglo.length)&&(salida)) { salida= (arreglo[i].equals(v.obtenerElem(i+1))); i++;} return salida; } public VRacio clone() { \\ profundidad VRacional v= new VRacional(arreglo.length); for (int i=0; i<arreglo.length;i++) v.establecerElem(i+1, arreglo[i].clone()); return v; }

10 Introducción a la Programación Orientada a Objetos public class VRacional { private Racional[] arreglo; \\ Constructor public VRacional(int m){ arreglo=new Racional[m]; } VRacional v1; v1=new VRacional(5); Administración de Memoria Se declara una variable v1 y se crea un objeto de la clase VRacional cuya referencia se almacena en v1. arreglo v1 5 length

11 Introducción a la Programación Orientada a Objetos public class VRacional { private Racional[] arreglo; \\ Constructor public VRacional(int m){ arreglo=new Racional[m]; } VRacional v1; v1=new VRacional(5); Administración de Memoria Se declara una variable v1 y se crea un objeto de la clase VRacional cuya referencia se almacena en v1.

12 Introducción a la Programación Orientada a Objetos VRacional Racional [] arreglo > VRacional (max : entero) > establecerElem (pos : entero, elem : Racional) copy (v: VRacional) > existePos (p : entero): boolean existeElem (r : Racional) : boolean obtenerElem (p : entero) : Racional cantElems () : entero prodEscalar(v : VRacional) : Racional suma (v : VRacional ) : VRacional escalarXVRacional(e : Racional) : VRacional equals (v : VRacional) : boolean clone () : VRacional Asume que la posición es válida. Asume que las longitudes son consistentes Compara las referencias Los elementos del vector se referencian desde los clientes con posiciones 1 y la cantidad de elementos

13 Introducción a la Programación Orientada a Objetos Racional num : entero den : entero > Racional (n,d : entero) > establecerNum (n : entero) establecerDen (d : entero) copy( r: Racional) > obtenerNum() : entero obtenerDen() : entero equals (r: Racional) :boolean toString() :String clone () : Racional suma (rac : Racional) :Racional resta (rac : Racional) :Racional producto (rac : Racional) :Racional cociente (rac : Racional) :Racional


Descargar ppt "Introducción a la Programación Orientada a Objetos VRacional Racional [] arreglo > VRacional (max : entero) > establecerElem (pos : entero, elem : Racional)"

Presentaciones similares


Anuncios Google