Académique Documents
Professionnel Documents
Culture Documents
Facultad:
Ingeniera
Escuela:
Computacin
Asignatura: Programacin II
Materiales y Equipo
Computadora con el software DevC++.
Gua Nmero 3.
Introduccin Terica
En esta prctica se tratarn los puntos bsicos para la definicin de clases y creacin de
objetos.
Definicin.
Una clase se define como la descripcin de un objeto, la cual tiene un conjunto de atributos
para describir las caractersticas del objeto y un conjunto de mtodos que describen las
operaciones o funciones del objeto.
Pero la definicin de clases encierra muchas otros conceptos para cumplir sus objetivos, as en
esta prctica veremos los siguientes conceptos:
Miembros.
Acceso a miembros.
Creacin de objetos.
private:
<atributos y/o miembros>
protected:
<atributos y/o miembros>
public:
<atributos y/o miembros>
};
Para declarar una clase debe proporcionarse primero su nombre, y se definen las regiones de
acceso privada (private) en la que solo la misma clase puede hacer uso de esos elementos,
protegida (protected) en la que solo la misma clase y las clases heredadas podrn hacer uso
de esos elementos y pblica (public) en la que tanto la clase como cdigo externo puede hacer
uso de los elementos.
A partir del diagrama de clase anterior se desprende el siguiente cdigo de definicin de clase:
class Empleado
{
private:
char DUI[10];
string nombres;
string apellidos;
string cargo;
float sueldo;
string fecha_ingreso;
string departamento;
public:
Empleado( );
Empleado(char numdui[ ], string name, string lastname, string cargoe, float sueldoe,
string ingreso, string depto);
~Empleado( ){ }
char *ObtenerDUI( );
string ObtenerAntiguedad( );
string ObtenerNombreEmpleado( );
string ObtenerCargo( );
float ObtenerSueldo( );
string ObtenerDepartamento( );
void ModificarDUI(char numdui[ ] );
void ModificarCargo(string cargoe);
void ModificarSueldo(float sueldoe);
void ModificarDepartamento(string depto);
};
Como se ve en el cdigo anterior tenemos solo regin privada y publica. En la regin privada
estn los atributos con el objetivo que solo puedan ser modificados por la clase misma, y en la
regin pblica se agregan los mtodos (solo la declaracin de las funciones) para dar acceso a
los atributos a cdigo externo a la clase.
Tambin se definen los constructores y el destructor. Estos son funciones sin tipo de retorno y
tienen el mismo nombre de la clase (solo el destructor antepone el carcter ~), hay dos
constructores de los cuales uno tiene parmetros para configurar la clase, el segundo no tiene
parmetros, as este tomar valores por default definidos por el constructor.
La definicin de mtodos de una clase se puede hacer dentro de la misma clase o fuera de la
definicin de la clase.
Si se realiza fuera de la definicin de la clase se debe indicar que son miembros de la clase.
La sintaxis de esta definicin requiere del operador de resolucin de mbito (::) y es la
siguiente:
<tipo de retorno> <nombre de clase> : :<nombre de mtodo>(<lista de parmetros>)
{
<cuerpo de mtodo>
DUI[0]='\0';
nombres=" ";
apellidos= ;
cargo= ;
sueldo=0.0;
fecha_ingreso= ;
departamento= ;
}
Empleado::Empleado(char numdui[ ], string name, string lastname, string cargoe, float sueldoe,
string ingreso, string depto)
{
DUI[10]='\0';
nombres=name;
apellidos=lastname;
cargo=cargoe;
sueldo=sueldoe;
fecha_ingreso=ingreso;
departamento=depto;
}
char * Empleado::ObtenerDUI( )
{
return DUI;
string Empleado::ObtenerCargo()
{
return cargo;
string Empleado::ObtenerDepartamento( )
{
return departamento;
Ac se han definido algunos de los mtodos de la clase Empleado, como se puede ver no se
define el destructor, este fue definido en la clase dado que no contiene cdigo a ejecutar.
La creacin de objetos es muy similar a declarar variables. Se puede hacer en otra clase
(anidamiento de objetos) o en una funcin de la siguiente manera:
<nombre de clase> <nombre de objeto><(lista de parmetros para el constructor)>
Ejemplo:
Empleado emp1("04016850-1",Alfredo, Guardado, Programador,800.00,23/09/2014, Informatica);
Como se puede ver, se est instanciando la clase Empleado en el objeto emp1 con siete
parmetros, los cuales son recogidos por el constructor para inicializar el objeto.
Y por ltimo el acceso a los miembros pblicos (atributos o funciones) se hace con el nombre
de la clase, seguido de un punto y el nombre del miembro:
Ejemplo:
emp1.ObtenerCargo( );
Ac se hace el llamado al mtodo ObtenerCargo del objeto emp1 el cual fue declarado y
definido en el cdigo de la clase Empleado.
Procedimiento
Ejercicio
1:
Bibliografa
Tomar el cdigo anterior y completar el programa para los mtodos que no se implementaron
enGua
el
1ejemplo:
ObtenerAntiguedad,
ObtenerNombreEmpleado,
ModificarCargo,
ModificarSueldo y ModificarDepartamento.
Debe completarse el programa con un men que permita la creacin de objetos y la aplicacin
de sus mtodos.
El programa debe permitir realizar las siguientes acciones:
a) Ingresar un empleado al sistema.
b) Modificar datos del empleado. Debe considerarse que dato desea modificarse.
c) Mostrar los datos de un empleado.
d) Salir del sistema.
Investigacin Complementaria
1. A3 partir
Gua
Gua definicin
4
desarrollado)
fa
Fuentes de Consulta
1. Deitel, Paul J. y Deitel, Harvey M. Cmo programar en C++. 6 Edicin Prentice Hall,
2009.
2. Joyanes Aguilar, Luis; Snchez Garca, Lucas. Programacin en C++: Un enfoque
prctico. 1 Edicin en espaol. McGraw Hill. 2006. Libro en lnea. Ebrary. Recursos
Elctronicos Universidad Don Bosco.
3. http://dis.unal.edu.co/~fgonza/courses/2003/poo/c++.htm.
Material
sobre
Programacin Orientada a Objetos. Departamento de Ingeniera de Sistemas.
Universidad Nacional de Colombia. Consultado diciembre 2014.
Alumno:
Hoja de cotejo:
3
1
Mquina No:
Alumno:
GL:
Docente:
Fecha:
EVALUACION
%
CONOCIMIENTO
Del 20
al 30%
APLICACIN
DEL
CONOCIMIENTO
Del 40%
al 60%
ACTITUD
Del 15%
al 30%
TOTAL
100%
1-4
5-7
8-10
Conocimiento
deficiente
de los
fundamentos
tericos
Conocimiento
y explicacin
incompleta de
los
fundamentos
tericos
Conocimiento
completo y
explicacin
clara de los
fundamentos
tericos
No tiene
actitud
proactiva.
Actitud
propositiva y
con
propuestas no
aplicables al
contenido de
la gua.
Tiene actitud
proactiva y
sus propuestas
son concretas.
Nota