You are on page 1of 4

UNMSM Facultad de Ingeniera Industrial

Algoritmos y Programacin
Mag. Hilmar Hinojosa Lazo 1
PROGRAMACIN ORIENTADA A OBJETOS
Es una tcnica o estilo de programacin basada en elementos bsicos llamados objetos.

Objeto

Es una entidad que se caracteriza por determinados atributos llamados datos miembro y por
ciertas funciones denominados funciones miembro o mtodos que permiten su
manipulacin.


OBJ ETO



Datos Miembro
( Atributos )





Funciones Miembro
( Mtodos )




Clase

Una clase es la definicin formal de los atributos y funciones miembro de un conjunto de
objetos que se realiza en un programa.

class <nombre de la clase >
{
< private:/public: >
<tipo 1 ><atributo 1 >;
<tipo 2 ><atributo 2 >;

<tipo N ><atributo N >;

<private:/public: >
<tipo 1 > <funcion miembro 1 >( <argumentos>);
<tipo 2 > <funcion miembro 2 >( <argumentos>);

<tipo M ><funcin miembro M >(<argumentos>);
};














UNMSM Facultad de Ingeniera Industrial
Algoritmos y Programacin
Mag. Hilmar Hinojosa Lazo 2
Los datos y funciones miembro pueden ser definidos como private o public.

private: slo pueden ser accesados desde funciones miembro.
public: pueden ser accesados directamente, sin utilizar funciones miembro.

Usualmente se debe declarar los datos miembro tipo private y las funciones miembro tipo
public.

Para accesar desde fuera del objeto a sus datos y funciones miembro se escribe:

<nombre del objeto >.<dato miembro >
<nombre del objeto >.<funcion miembro >

Constructores

Un constructor es una funcin miembro que permite inicializar los datos miembro de un
objeto. Tiene las siguientes caractersticas:

- Su nombre es igual al de la clase.
- No devuelve valores.
- Puede haber ms de un constructor.
- Se invoca al momento de declarar al objeto.

Destructor

Un destructor es una funcin que permite liberar el rea de memoria ocupada por un objeto
cuando este ya no va ser usado .Sus caractersticas son:

- Su nombre es igual al de la clase pero precedido por el smbolo ~.
- No devuelve valores.
- Slo puede haber un destructor.
- Se invoca al momento de salir o abandonar el mbito donde fue creado el objeto.

Ejemplo de Programa Orientado a Objetos

#include <iostream>
#include <stdlib.h>
using namespace std;

class rectangulo
{
private:
int largo;
int ancho;
public:
rectangulo( );
UNMSM Facultad de Ingeniera Industrial
Algoritmos y Programacin
Mag. Hilmar Hinojosa Lazo 3
rectangulo( int l, int a );
~rectangulo( );
void ingresar( );
void imprimir( );
void setlargo( int l );
void setancho( int a );
int getlargo( );
int getancho( );
int area( );
int perimetro( );
};

rectangulo::rectangulo()
{ largo = 0;
ancho = 0;
}

rectangulo::rectangulo( int l, int a )
{
largo = l;
ancho = a;
}

rectangulo::~rectangulo()
{ }

void rectangulo::ingresar()
{
cout<<"Ingrese largo: ";
cin>>largo;
cout<<"Ingrese ancho: ";
cin>>ancho;
}

void rectangulo::imprimir()
{
cout<<"El largo es "<<largo<<endl;
cout<<"El ancho es "<<ancho<<endl;
}

void rectangulo::setlargo( int l )
{
largo = l;
}

void rectangulo::setancho( int a )
UNMSM Facultad de Ingeniera Industrial
Algoritmos y Programacin
Mag. Hilmar Hinojosa Lazo 4
{
ancho = a;
}

int rectangulo::getlargo( )
{
return largo;
}

int rectangulo::getancho( )
{
return ancho;
}

int rectangulo::area( )
{
return largo*ancho;
}

int rectangulo::perimetro( )
{ return 2*( largo + ancho );
}

int main( )
{ rectangulo rec1, rec2(10,3), rec3;
int x,y;
cout<<"Rectangulo 1"<<endl;
rec1.ingresar();
rec1.imprimir();
cout<<"El perimetro es "<<rec1.perimetro()<<endl;
cout<<"El area es "<<rec1.area()<<endl;
cout<<endl<<"Rectangulo 2"<<endl;
rec2.imprimir();
cout<<"El perimetro es "<<rec2.perimetro()<<endl;
cout<<"El area es "<<rec2.area()<<endl;
x = 2*rec1.getlargo();
y = 2*rec1.getancho();
rec3.setlargo(x);
rec3.setancho(y);
cout<<endl<<"Rectangulo 3"<<endl;
rec3.imprimir();
cout<<"El perimetro es "<<rec3.perimetro()<<endl;
cout<<"El area es "<<rec3.area()<<endl;
system("PAUSE");
return 0;
}

You might also like