0
Ejemplo de poliformismo en Java y C++ (R-1.0)  T´   ıtulo             Ejemplo de poliformismo en Java y C++               ...
Ejemplo de poliformismo en Java y C++ (R-1.0)  Resumen                                                Resumen             ...
Ejemplo de poliformismo en Java y C++ (R-1.0)  Poliformismo. (I)Poliformismo. (I)             Capacidad para adoptar varia...
Ejemplo de poliformismo en Java y C++ (R-1.0)  Poliformismo. (II)Poliformismo. (II)             Entidad poliforma, se cono...
Ejemplo de poliformismo en Java y C++ (R-1.0)  Ejemplo de poliformismo con figuras geom´tricas.                            ...
Ejemplo de poliformismo en Java y C++ (R-1.0)  Implementaci´n en C++. (I)               oImplementaci´n en C++. (I)       ...
Ejemplo de poliformismo en Java y C++ (R-1.0)  Implementaci´n en C++. (II)               oImplementaci´n en C++. (II)     ...
Ejemplo de poliformismo en Java y C++ (R-1.0)  Implementaci´n en C++. (III)               oImplementaci´n en C++. (III)   ...
Ejemplo de poliformismo en Java y C++ (R-1.0)  Implementaci´n en C++. (IV)               oImplementaci´n en C++. (IV)     ...
Ejemplo de poliformismo en Java y C++ (R-1.0)  Implementaci´n en Java. (I)               oImplementaci´n en Java. (I)     ...
Ejemplo de poliformismo en Java y C++ (R-1.0)  Implementaci´n en Java. (II)               oImplementaci´n en Java. (II)   ...
Upcoming SlideShare
Loading in...5
×

Poo transpa

253

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
253
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "Poo transpa"

  1. 1. Ejemplo de poliformismo en Java y C++ (R-1.0) T´ ıtulo Ejemplo de poliformismo en Java y C++ (R-1.0) Programaci´n Orientada a Objetos. o 15 de enero de 2005 Dpto. Lenguajes y Sistemas Inform´ticos a Universidad de Alicante DLSI
  2. 2. Ejemplo de poliformismo en Java y C++ (R-1.0) Resumen Resumen Poliformismo. Ejemplo de poliformismo con Figuras geom´tricas. Implementacion en C++. Implementaci´n en e o Java DLSI
  3. 3. Ejemplo de poliformismo en Java y C++ (R-1.0) Poliformismo. (I)Poliformismo. (I) Capacidad para adoptar varias formas. En entornos de POO se refiere a objetos que pueden tomar varias formas. Los cuales en tiempo de ejecuci´n podr´n conectarse a o a objetos de tipos distintos. Todo esto controlado por la declaraci´n est´tica o a
  4. 4. Ejemplo de poliformismo en Java y C++ (R-1.0) Poliformismo. (II)Poliformismo. (II) Entidad poliforma, se conoce as´ a la entidad que define la ı especializaci´n de una clase, es decir, que agrupa un conjunto o de propiedades comunes a objetos, creando relaciones del tipo tiene un. (Seg´n Bertrand Meyer ) u Asignaci´n poliforma, sea o p := q llamaremos asignaci´n poliforma a esta operaci´n cuando el o o tipo de origen q es distinto del tipo de p. En el apartado de implementaci´n se veran ejemplos de estos dos conceptos. o
  5. 5. Ejemplo de poliformismo en Java y C++ (R-1.0) Ejemplo de poliformismo con figuras geom´tricas. eEjemplo de poliformismo con figuras geom´tricas. e Vamos a implementar un ejemplo de poliformismo dado por el diagrama UML que acompa˜a al documento. n
  6. 6. Ejemplo de poliformismo en Java y C++ (R-1.0) Implementaci´n en C++. (I) oImplementaci´n en C++. (I) o Figura.h: #ifndef FIGURA #define FIGURA #include<iostream> using namespace std; class Figura { public: //Funcion virtual pura. Devuelve un string que representa al objeto virtual string imprime() const = 0; }; #endif
  7. 7. Ejemplo de poliformismo en Java y C++ (R-1.0) Implementaci´n en C++. (II) oImplementaci´n en C++. (II) o A tener en cuenta: El fichero de cabecera Figura.cpp no debe implementarse. La funci´n imprime debe reimplementarse en cada clase que o herede de figura al ser virtual pura. A partir de ahora podremos realizar asignaciones poliformicas a partir de una clase claseP que herede de Figura. Por ejemplo: Figura temp=new claseP();
  8. 8. Ejemplo de poliformismo en Java y C++ (R-1.0) Implementaci´n en C++. (III) oImplementaci´n en C++. (III) o A continuaci´n se implementa la clase Punto.h: o #ifndef PUNTO #define PUNTO #include ”Figura.h” class Punto : public Figura { private: int x,y; public: Punto(int x=0, int y=0) { this.x=x; this.y=y;} Punto(const & Punto) { (*this)=&Punto} void setX(int x) { this.x=x;} void setY(int y) { this.y=y;} int getX() { return x;} int getY() { return y;} virtual string imprime() const; }; #endif
  9. 9. Ejemplo de poliformismo en Java y C++ (R-1.0) Implementaci´n en C++. (IV) oImplementaci´n en C++. (IV) o Punto.cpp: #include ”Punto.h” // Sobreescribimos la funcion virtual string Punto::imprime() const { return ”Punto: (”+ x +”,”+ y +”)”; }
  10. 10. Ejemplo de poliformismo en Java y C++ (R-1.0) Implementaci´n en Java. (I) oImplementaci´n en Java. (I) o Una clase principal AplicGeom que lanza la aplicaci´n o Definimos un paquete geom con distintas clases: Una clase abstracta padre llamada Figura Que posee un m´todo abstracto public String imprime() e Una serie de subclases (figuras geom´tricas) que son de tipo e Figura Tres subclases que heredan de ella, Linea, Rectangulo y Circulo. Definimos un paquete io Posee dos clases dedicadas a E/S EntradaTeclado captura la entrada del teclado IOFiguras guarda/recupera la informaci´n en un fichero o
  11. 11. Ejemplo de poliformismo en Java y C++ (R-1.0) Implementaci´n en Java. (II) oImplementaci´n en Java. (II) o Podemos compilar todo el proyecto tecleando make o archivo por archivo: geom/Figura.java −→ javac geom/Figura.java geom/Linea.java −→ javac geom/Linea.java geom/Circulo.java −→ javac geom/Circulo.java geom/Rectangulo.java −→ javac geom/Rectangulo.java io/EntradaTeclado.java −→ javac io/EntradaTeclado.java io/IOFiguras.java −→ javac io/IOFiguras.java AplicGeom.java −→ javac AplicGeom.java Por ultimo podemos ejecutarlo tecleando: java AplicGeom figuras.dat
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×