You are on page 1of 11

Prctica 6 Objetivo: El alumno pondr en prctica los conceptos vistos del tema 6.

Instrucciones: Realice lo que se le indica a continuacin: 1. Explique con sus propias palabras que es un objeto. En el paradigma de programacin orientada a objetos (POO, o bien OOP en ingls), un objeto se define como la unidad que en tiempo de ejecucin realiza las tareas de un programa. Tambin a un nivel ms bsico se define como la instancia de una clase. Estos objetos interactan unos con otros, en contraposicin a la visin tradicional en la cual un programa es una coleccin de subrutinas (funciones o procedimientos), o simplemente una lista de instrucciones para el computador. Cada objeto es capaz de recibir mensajes, procesar datos y enviar mensajes a otros objetos de manera similar a un servicio. En el mundo de la programacin orientada a objetos (POO), un objeto es el resultado de la instanciacin de una clase. Una clase es el anteproyecto que ofrece la funcionalidad en ella definida, pero sta queda implementada slo al crear una instancia de la clase, en la forma de un objeto. Por ejemplo: dado un plano para construir sillas (una clase de nombre clase_silla), entonces una silla concreta, en la que podemos sentarnos, construida a partir de este plano, sera un objeto de clase_silla. Es posible crear (construir) mltiples objetos (sillas) utilizando la definicin de la clase (plano) anterior. Los conceptos de clase y objetos son anlogos a los de tipo de datos y variable; es decir, definida una clase podemos crear objetos de esa clase, igual que disponiendo de un determinado tipo de dato (por ejemplo el tipo entero), podemos definir variables de dicho tipo: int a,b; ( 'int' es un tipo de dato y 'a' y 'b' son variables de tipo entero con las que podemos operar) Para utilizar la funcionalidad definida en una clase en particular (salvo en las clases abstractas), primeramente es necesario crear un objeto de esa clase. De la misma manera, para una persona que desea sentarse, las especificaciones para construir una silla sern de poca utilidad; lo que se necesita es una silla real construida a partir de esas especificaciones.

Siguiendo con la analoga anterior, tambin se puede decir que para hacer operaciones aritmticas, de nada sirve por s solo el tipo entero (int); para ello necesitamos variables (o constantes) con las que operar. Despus de esta definicin podemos decir que el objeto utilizando una analoga con una casa, la clase seria el plano y el objeto la casa construida, donde sus atributos pueden ser El color , las ventanas, puertas y sus mtodos por ejemplo encender o apagar las luces, encender el clima o apagarlo.

2. Escriba al menos tres ejemplos de objetos en el contexto de la programacin. Primer ejemplo: Aqu se usa una clase empleado y a partir de esta se crean dos objetos :trabajador y jefe using namespace System; #include<iostream> #include <string> using namespace std; class empleado { public: char nombre[64]; long numero_empleado; float salario; void muestra_empleado(void) { cout << "Nombre: " << nombre << endl; cout << "Nmero: " << numero_empleado << endl; cout << "Salario: $" << salario << endl; };

};

void main(void) { empleado trabajador, jefe;

strcpy(trabajador.nombre, "Juan Prez"); trabajador.numero_empleado = 12345; trabajador.salario = 25000;

strcpy(jefe.nombre, "Hugo Lpez"); jefe.numero_empleado = 101; jefe.salario = 101101.00;

trabajador.muestra_empleado(); jefe.muestra_empleado(); }

Segundo ejemplo: Aqu se usa una clase computadora y a partir de esta se crea el objeto: mi_pc

#include <iostream.h> #include <string.h>

class monitor_de_video { public: monitor_de_video(char *, long, int, int);

void muestra_pantalla(void); private: char tipo[32]; long colores; int resolucion_x; int resolucion_y; };

monitor_de_video::monitor_de_video(char *tipo, long colores, int x_res, int y_res) { strcpy(monitor_de_video::tipo, tipo); monitor_de_video::colores = colores; monitor_de_video::resolucion_x = x_res; monitor_de_video::resolucion_y = y_res; }

void monitor_de_video::muestra_pantalla(void) { cout << "Tipo de video: " << tipo << endl; cout << "Colores: " << colores << endl; cout << "Resolucin: " << resolucion_x << " por " << resolucion_y << endl; }

class tarjeta_principal

{ public: tarjeta_principal(int, int, int); void muestra_tarjeta(void); private: int procesador; int velocidad; int memoria; };

tarjeta_principal::tarjeta_principal(int procesador, int velocidad, int memoria) { tarjeta_principal::procesador = procesador; tarjeta_principal::velocidad = velocidad; tarjeta_principal::memoria = memoria; }

void tarjeta_principal::muestra_tarjeta(void) { cout << "Procesador: " << procesador << endl; cout << "Velocidad: " << velocidad << " Mhz" << endl; cout << "Memoria: " << memoria << " Mb" << endl; }

class computadora : public monitor_de_video, public tarjeta_principal

{ public: computadora(char *, int, float, char *, long, int, int, int, int, int); void muestra_computadora(void); private: char marca[64]; int disco_duro; float disco_flexible; };

computadora::computadora(char *marca, int disco_duro, float disco_flexible, char *pantalla, long colores, int res_x, int res_y, int procesador, int velocidad, int memoria) : monitor_de_video(pantalla, colores, res_x, res_y), tarjeta_principal(procesador, velocidad, memoria) { strcpy(computadora::marca, marca); computadora::disco_duro = disco_duro; computadora::disco_flexible = disco_flexible; }

void computadora::muestra_computadora(void) { cout << "Marca: " << marca << endl; cout << "Disco Duro: " << disco_duro << " Mbytes" << endl;

cout << "Unidad de disquetes: " << disco_flexible << " Mbytes" << endl; muestra_tarjeta(); muestra_pantalla(); }

void main(void) { computadora mi_pc("Compaq", 212, 1.44, "VGA", 16000000, 640, 480, 486, 66, 8); mi_pc.muestra_computadora(); }

Tercer Ejemplo: Aqu se usa la clase serie_libros y a partir de esta se crean los objetos: programacin y virus. #include <iostream.h> #include <string.h>

class serie_libros { public: serie_libros(char *, char *, float); void muestra_libro(void); void pone_paginas(int); private: static int numero_paginas; char titulo[64];

char autor[64]; float precio; };

int serie_libros::numero_paginas;

void serie_libros::pone_paginas(int paginas) { numero_paginas = paginas; }

serie_libros::serie_libros(char *titulo, char *autor, float precio) { strcpy(serie_libros::titulo, titulo); strcpy(serie_libros::autor, autor); serie_libros::precio = precio; }

void serie_libros::muestra_libro(void) { cout << "Ttulo: " << titulo << endl; cout << "Autor: " << autor << endl; cout << "Precio: $" << precio << endl; cout << "P ginas: " << numero_paginas << endl; }

void main(void) { serie_libros programacion("Aprenda C++ paso a paso!", "Jamsa", 89.95); serie_libros virus("Todo sobre virus", "Ferreyra", 92.95); virus.pone_paginas(256);

programacion.muestra_libro(); virus.muestra_libro();

cout << endl << "Cambiando el contador de p gina " << endl;

programacion.pone_paginas(512);

programacion.muestra_libro(); }

3. Defina las propiedades y mtodos de los siguientes objetos: Mascotas Propiedades: nombre: Es el nombre de la mascota. tipo_animal: Se refiere al tipo de animal de que se trata, perro, gato, araa, etc. color: Color de la mascota. tamano: Tamao de la mascota, chico, mediano, grande peso: Peso en kg de la mascota. Alumnos

Metodos: Captura_nombre: Este mtodo slo pedir un valor al usuario y lo asignar a la propiedad nombre. Captura_tipo: Este mtodo slo pedir un valor al usuario y lo asignar a la propiedad tipo_animal. Captura_color: Este mtodo slo pedir un valor al usuario y lo asignar a la propiedad color. Captura_tamano. Este mtodo slo pedir un valor al usuario y lo asignar a la propiedad tamano. Captura_peso: Este mtodo slo nos pedir un valor al usuario y lo asignar a la propiedad peso.

Alumnos: Propiedades: Nombre: Es el nombre del alumno Matricula: Es el nmero de matrcula que tiene el alumno Carrera: Es la carrera en la que est inscrito el alumno Grado: Es el grado escolar en que est el alumno

Metodos: Captura_nombre: este mtodo slo pedir un valor al usuario y lo asignar a la propiedad nombre. Captura_matricula: este mtodo slo pedir un valor al usuario y lo asignar a la Propiedad matricula

Captura_carrera: este mtodo slo pedir un valor al usuario y lo asignar a la Propiedad matricula Captura_grado: este mtodo slo pedir un valor al usuario y lo asignar a la Propiedad grado

4. Escriba sus respuestas en un documento de Word con el nombre de tema6_practica_su_nombre.doc. 5. Enve su archivo por correo electrnico a su asesor.

You might also like