Sie sind auf Seite 1von 25

CLASES

Matas Herrera Cceres

Contiene

Datos (datos miembro o campos), los cuales especifican las propiedades de los objetos. Funciones (funciones miembro o mtodos), mediante los cuales se modela su comportamiento y las acciones que puede realizar.

// Declaracin de una clase class MiClase { // Declaracin de datos miembro // Declaracin de mtodos };

MODIFICADORES DE ACCESO
private: Slo se permite su acceso desde los mtodos de la clase. public: Se permite su acceso desde cualquier punto que pueda usar la clase. Un dato pblico es accesible desde cualquier objeto de la clase. protected: Se permite su uso en los mtodos de la clase y en los de las clases derivadas mediante herencia. class Triangulo { private: float cat_opuesto; float cat_adyacente; float hipotenusa; // Declaracin de mtodos }

CONSTRUCTORES

Cuando se crea un objeto de una clase siempre se llama automticamente a un constructor. Se emplea para iniciar los objetos de una clase. Es particularmente til para reservar, si es necesario, memoria para ciertos campos del objeto. Pueden haber varios constructores para una clase. Un constructor tiene el mismo nombre que la clase en la que est declarado y no devuelve nada. OJO: NO es una funcin void. Cuando no se define ningn constructor en una clase, el compilador crea un constructor por defecto, sin argumentos, que inicia los datos miembros a cero.

DESTRUCTORES

Slo hay un destructor para una clase. Cuando un objeto deja de existir siempre se llama automticamente al destructor. Un destructor tiene el mismo nombre de la clase, precedido por el carcter ~. El destructor no admite parmetros ni devuelve ningn valor. OJO: NO es una funcin void. Si no se especifica, el compilador proporciona un destructor por defecto. Su implementacin tiene sentido slo cuando el constructor ha reservado memoria dinmicamente.

class MiClase { public: int *arreglo; // Constructor MiClase () { arreglo = new int[10]; } // Destructor ~MiClase () { delete [] arreglo; } };

METODOS

Se declaran como cualquier funcin en C++. Se especifican los prototipos de los mtodos en la declaracin de la clase. Su implementacin puede ser dentro de la declaracin de la clase o en un archivo .cpp Es usual disponer de mtodos pblicos que modifican y/o leen el valor de los datos privados. Pueden definirse funciones privadas que pueden ser de utilidad (funciones auxiliares) para las funciones pblicas.

#ifndef triangulo_h #define triangulo_h class Triangulo { private: float cat_opuesto; float cat_adyacente; float hipotenusa; public: Constructor de la clase Triangulo(); // Mtodos de inspeccin float VerOpu(); float VerAdy(); float VerHip(); void MostrarTriangulo(); // Mtodos de modificacin void ModOpu(float valor); void ModAdy(float valor); void ModHip(float valor); void ModificarTriangulo(float ady, float op, float hip); }; #endif

#include <iostream> #include triangulo.h using namespace std; // Constructor de la clase Triangulo::Triangulo() { this->cat_opuesto = 0; cat_adyacente = 0; hipotenusa = 0; } // Mtodos de inspeccin float Triangulo::VerOpu() { return cat_opuesto; }

float Triangulo::VerAdy() { return cat_adyacente; } float Triangulo::VerHip() { return hipotenusa; } void Triangulo::MostrarTriangulo() { cout << "Cateto Opuesto: " << VerOpu() << endl; cout << "Cateto Adyacente: " << VerAdy() << endl; cout << "Hipotenusa: " << VerHip() << endl; } // Mtodos de modificacin void Triangulo::ModOpu(float valor) { cat_opuesto = valor; } void Triangulo::ModAdy(float valor)

{ cat_adyacente = valor; } void Triangulo::ModHip(float valor) { hipotenusa = valor; } void Triangulo::ModificarTriangulo(float ady, float op, float hip) { ModOpu(op); ModAdy(ady); ModHip(hip); }

INSTANCIACIN
Un objeto se puede crear de dos formas: Esttica (el objeto existe mientras no se pierda alcance sobre l). Sintaxis: Nombre_de_clase variable_del_objeto; Dinmica (el objeto se crea en memoria dinmica, y existe mientras no sea eliminado explcitamente de sta). Sintaxis: Nombre_de_clase *apuntador_al_objeto; apuntador_al_objeto = new Nombre_de_clase;

void main () { // Instanciacin esttica Triangulo a; // Instanciacin dinmica Triangulo *b; b = new Triangulo; delete b; }

CASO DE ESTUDIOS
Anlisis

Diseo
Construccin Pruebas Despliegue

PROBLEMA

Se quiere una aplicacin que permita manejar la informacin de un empleado. El empleado tiene nombre, apellido, sexo, fecha de nacimiento y una imagen asociada. Adems, como trabaja en una determinada compaa tiene una fecha de ingreso a la misma y un salario bsico asignado. En la aplicacin se puede (1) modificar el salario del empleado y (2) realizar algunos clculos con la informacin disponible: (a) edad actual, (b) antigedad en la empresa y (c) prestaciones a las que tiene derecho. Para el clculo de las prestaciones se utiliza la frmula p = (a * s)/12 (p: prestaciones, a: antigedad, s: salario).

ANALISIS
Nombre Resumen R1 - ingresar la informacin del empleado Se requiere recibir la informacin bsica de un empleado. Dicha informacin comprende datos personales y de vinculacin a la empresa.

Entradas Nombre del empleado Apellido del empleado Sexo del empleado Fecha de Nacimiento del empleado Fecha de ingreso del empleado a la compaa Salario bsico del empleado Resultados La informacin bsica del empleado ha sido admitida

ANALISIS
Nombre Resumen Entradas Nuevo salario bsico Resultados Nuevo Salario bsico del empleado R2 - actualizar el salario bsico del empleado

Permitir la modificacin del salario bsico de un empleado y actualizar dicha informacin

ANALISIS
Nombre
Resumen

Entradas La fecha de nacimiento del empleado Resultados Edad calculada del empleado

R3 - Calcular la edad del empleado Calcular e informar los aos cumplidos del empleado

ANALISIS
Nombre Resumen R4 - Calcular de la antigedad del empleado Calcular e informar la cantidad de aos que ha trabajado el empleado para la compaa

Entradas Fecha de ingreso del empleado a la compaa Resultados Antigedad o aos que lleva el empleado en la compaa

ANALISIS
Nombre R5 - Calcular las prestaciones de un empleado A partir del salario bsico, deducir el valor de las prestaciones del empleado. La frmula para hacerlo es Prestaciones = antigedad * 1/12 (salario bsico)

Resumen

Entradas

Fecha de ingreso del empleado a la compaa Salario bsico del empleado


Resultados Valor calculado de las prestaciones

DISEO

class

Empleado { private: char* nombre; char* apellido; char* sexo; char* imagen; long salario; Date FechaIngreso;

CONSTRUCCION

public: void Inicializar(char* nombre, char* apellido, char* sexo, char* imagen, long salario, Date FechaIngreso); void CambiarFechaIngreso ( char* FechaIngreso ); void CambiarImagen ( char* imagen); };

Empleado.cpp
#include <iostream> #include Empleado.h using namespace std; void Empleado::CambiarFechaIngreso(char* FechaIngreso) { FechaIngreso = FechaIngreso; }

Das könnte Ihnen auch gefallen