Вы находитесь на странице: 1из 4

PROGRAMACIN ORIENTADO A OBJETOS

1. Definicin:
La programacin orientada a objetos (POO, u OOP segn sus siglas en ingls) es un
paradigma de programacin que usa objetos en sus interacciones, para disear
aplicaciones y programas informticos.

2. Conceptos bsicos:
Clases: Las clases son uno de los principales componentes de un lenguaje de
programacin, pues en ellas ocurren todos los procesos lgicos requeridos para
un sistema, en si podemos definirlas como estructuras que representan objetos
del mundo real, tomando como objetos a personas, lugares o cosas, en general
las clases poseen propiedades, comportamientos y relaciones con otras clases
del sistema.

Objetos: Los objetos representan una entidad concreta o abstracta del mundo
real, en programacin bsicamente se le conoce como la instancia de una clase
en si es lo que da el sentido a estas.

Encapsulamiento: Este concepto es uno de los ms


importantes en trminos de seguridad dentro de nuestra
aplicacin, la encapsulacin es la forma de proteger
nuestros datos dentro del sistema, estableciendo
bsicamente los permisos o niveles de visibilidad o acceso
de nuestros datos.
3. Ejemplos C++

#include <iostream>
#include <conio.h>
#include <cstring>

//definicion de la clase Numero


class persona
{
public:
persona(char[40] = "", int = 1);
void establecerEdad(int);
void mostrarEdad(void);
void establecerNombre(char[40]);
void mostrarNombre(void);
private:
int edad;
char nombre[40];
};

class asalariado : public persona {


public:
asalariado(char[40] = "" , int = 1, double = 0);
void establecerSueldo(double = 0);
void mostrarSueldo(void);
private:
double sueldo;
};

class obrero : public asalariado {


public:
obrero(char[40] = "" , int = 1, double = 0, char[40] = "Funciones Generales");
void establecerCargo(char[40]);
void mostrarCargo(void);
private:
char cargo[40];
};

class medico : public asalariado {


public:
medico(char[40] = "" , int = 1, double = 0, int = 0);
void establecerCantPacientes(int);
void mostrarCantPacientes(void);
private:
int cantpacientes;
};

persona::persona(char nom[40], int ed){


establecerEdad(ed);
establecerNombre(nom);
}
void persona::establecerEdad(int ed) {edad = ed;}
void persona::mostrarEdad(void){ cout << "Edad: "<< edad << endl;}
void persona::establecerNombre(char nom[40]){strcpy (nombre,nom);}
void persona::mostrarNombre(void){cout << "Nombre: " << nombre << endl;}

asalariado::asalariado(char nom[40] , int ed, double suel){


establecerEdad(ed);
establecerNombre(nom);
establecerSueldo(suel);
}
void asalariado::establecerSueldo(double suel){sueldo = suel; }
void asalariado::mostrarSueldo(void){ cout << "Sueldo: " << sueldo << endl;}

obrero::obrero(char nom[40] , int ed, double suel, char car[40]){


establecerEdad(ed);
establecerNombre(nom);
establecerSueldo(suel);
establecerCargo(car);
}
void obrero::establecerCargo(char car[40]) {strcpy (cargo,car);}
void obrero::mostrarCargo(void) { cout << "Cargo: " << cargo << endl; }

medico::medico(char nom[40] , int ed, double suel, int cant){


establecerEdad(ed);
establecerNombre(nom);
establecerSueldo(suel);
establecerCantPacientes(cant);
}
void medico::establecerCantPacientes(int cant) { cantpacientes = cant; }
void medico::mostrarCantPacientes(void) { cout << "Cantidad de pacientes: " << cantpacientes
<< endl; }

//Probamos la clase.
int main()
{

medico pedro("Pedro Gonzales", 40, 5457.45, 15);


cout << "********************" << endl;
pedro.mostrarNombre();
pedro.mostrarEdad();
pedro.mostrarSueldo();
pedro.mostrarCantPacientes();
cout << "********************" << endl;
obrero jose("Jose Alvarez", 54, 1200.32, "Tornero Calificado");
jose.mostrarNombre();
jose.mostrarEdad();
jose.mostrarSueldo();
jose.mostrarCargo();
cout << "********************" << endl;
medico juan;
juan.mostrarNombre();
juan.mostrarEdad();
juan.mostrarSueldo();
juan.mostrarCantPacientes();

getch();
}