Código en el lenguaje OO que están usando que implementa la herencia y demuestra el uso de polimorfismo en el proyecto.
Ahora en esta entrada expongo el código en Objective C aplicando herencia de la clase Menu, hereda a Platillo, Bebida, Postre, Recomen y Cupon.
Simplemente se agrega en cada herencia la clase de la que hereda en este caso Menu, es importante (ya que a mi me marcaba error) importar Menu.h en las herencias, ya que ahi estamos declarando, este es un ejemplo código de como se hace una herencia.
@interface Clase : SuperClase { //Variables } //metodos @end
Por lo tanto la super clase en Menu.m es la librería UIKit pero en Platillo, Bebida, Postre, Recomen y Cupon la super calase es Menu cuya super clase de Menu es UIKit, entonces este es un claro ejemplo de Herencia, en polimorfismo se encuentra en los metodos que tiene las clases hijas (mostrar, eliminar, ordenar), ya que cada uno tendra una funcionalidad similar en clases independientes.
Aqui los Código.
#import <UIKit/UIKit.h> @interface Menu : UIView { @public NSString *clasificacion; @public IBOutlet UIImage *imagencomida; @public float *precio; @public NSString *Descri; } -(void)Mostrar; -(void)Ordenar; -(void)Clasificar; @end
En Bebida, platillo y postre no agrege nuevas variables.
#import <UIKit/UIKit.h> #import "Menu.h" @interface Bebida : Menu { } -(void)Ordenar; -(void)Mostrar; -(void)Eliminar; @end
#import <UIKit/UIKit.h> #import "Menu.h" @interface Platillo : Menu { } -(void)Ordenar; -(void)Mostrar; -(void)Eliminar; @end
#import <UIKit/UIKit.h> #import "Menu.h" @interface Postre : Menu { } -(void)Ordenar; -(void)Mostrar; -(void)Eliminar; @end
Se agregan nuevas variables heredando las de Menu.h, tambien podemos ver Polimorfismo ya que aqui los metodos anteriores tienen un uso diferente
#import <UIKit/UIKit.h> #import "Menu.h" @interface Recomen : Menu { @public int *puntuacion; @public NSString *comentario; } -(void)Mostrar; -(void)Crear; @end
#import <UIKit/UIKit.h> #import "Menu.h" @interface Cupon : Menu { @public IBOutlet UIImage *imagencupon; } -(void)Mostrar; @end
Anexos de paginas:
Beginner's Guide
Inheritance O-C
Video informal
Ahí va. No me queda todavía claro a mí cómo difiere un platillo de un postre en términos de datos y funcionalidad (o sea, no veo porqué tienen que ser clases distintas), pero la semana que viene tendrás oportunidad de convencerme en la presentación ;) Te pongo 5.
ResponderEliminar