ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Programación Orientada a Objetos metodo POO


Enviado por   •  25 de Abril de 2016  •  Apuntes  •  5.003 Palabras (21 Páginas)  •  331 Visitas

Página 1 de 21

Programación Orientada a Objetos

POO

La POO es el método de implementación en que los programas se organizan como colecciones cooperativas de objetos, cada uno de los cuales representa un ejemplar de una clase y cuyas clases son miembros de una jerarquía de clases unidas mediante relaciones de herencia. (Booch)

La POO permite aumentar la productividad de software, abordar proyectos de mayor envergadura y complejidad, reusar el código de una manera más sencilla, facilitar el mantenimiento.

Son varios los lenguajes que han contribuido a la evolución de los Lenguaje de Programación Orientado a Objetos (LPOO). Los más destacables son SIMULA (década de los 60) SMALLTALK (década de los 70). En la década de los 80 aparecen extensiones orientadas a objetos de los muy populares lenguajes C y Pascal llamadas C++ y Object Pascal.

Objeto:

Es una entidad que contiene atributos particulares, los datos y las formas de operar con ellos llamadas funciones. Los datos son de tipo convencional: constantes, variables, arreglos, strings, estructuras.

Métodos y mensajes:

Los objetos se comunican mediante llamadas a funciones miembro o métodos. Se dice entonces que “un objeto envía un mensaje a otro”.

El mensaje es la acción realizada por un objeto mediante la cual se invoca un método de otro objeto.

Componentes del mensaje:

  • Nombre del receptor del mensaje
  • Método invocado
  • Información necesaria para la ejecución del método.

El conjunto de mensajes que puede recibir un objeto se conoce como protocolo de un objeto.

Clases:

Es la descripción de un conjunto de objetos. Consta de métodos y datos que resumen las características comunes de un conjunto de objetos.

Un objeto se crea mediante el envío de un mensaje de construcción a la clase.

Un objeto se destruye mediante el envío de un mensaje de destrucción a la clase.

POO en C++

Definición de una clase

class {

[public:

        []

[]]

[protected:

        []

        []]

[private:

        []

        []]

};

Por defecto en una clase todo es privado.

Especificadores de acceso:

Private: Los miembros de una clase sólo pueden ser accedidos por

  • Las funciones miembro de la propia clase
  • Las funciones amigas de la propia clase

Protected: Los miembros de una clase sólo pueden ser accedidos por

  • Las funciones miembro de la propia clase
  • Las funciones amigas de la propia clase
  • Las funciones miembro de clases derivadas

Public: Los miembros de una clase sólo pueden ser accedidos por

  • Las funciones miembro de la propia clase
  • Las funciones amigas de la propia clase
  • Las funciones miembro de clases derivadas
  • Cualquier usuario de la clase

EJEMPLO: para comprobar los distintos tipos de acceso.

#include

#include

#include

class miclase{

private:

     int a;

protected:

     int b;

public:

     int c;

     miclase(int n,int m){a=n;b=m;}

     int obten_a(){return a;}

     int obten_b(){return b;}

};

main()

{

     miclase objeto(10,20);

     system("cls");

     objeto.c=30;

     // objeto.b=30; error, sin acceso.

     // objeto.a=30; error, sin acceso.

     cout<

     cout<

     cout<

     system("pause");

}

TIPOS DE FUNCIONES MIEMBRO

Funciones en línea (inline)

Las llamadas a las funciones inline son sustituidas por el código de la propia función. Se pueden definir de 2 formas:

  • Incluyendo el cuerpo entre llaves tras la declaración de la función

class ejemplo{

     <…>

     public:

            tipo función(parámetros){;}

};

  • Con la palabra reservada inline

class ejemplo{

     <…>

     public:

             inline tipo función(parámetros);

};

inline tipo ejemplo::función(parámetros)

{

        ;

}

Funciones amigas

No son funciones miembro. El prototipo estará definido dentro de la clase, pero con la palabra reservada friend. La definición de la función puede estar en cualquier sitio.

class ejemplo{

     <…>

    friend tipo función(parámetros);

};

Veamos el siguiente ejemplo en que multiplicaremos una matriz por un vector

#include

#include

class matriz;                //declaración incompleta necesaria

 

class vector {

        float v[4];

public:

        friend vector multiplicar(const matriz &, const vector &);

        void leervec();

        void impvec();

        

};

 

class matriz {

        float m[4][4];

public:

        friend vector multiplicar(const matriz &, const vector &);

            void leermat();

};

 

vector multiplicar(const matriz &m, const vector &v)

{

        vector r;

        int i, j;

        float x;

...

Descargar como (para miembros actualizados) txt (23 Kb) pdf (221 Kb) docx (31 Kb)
Leer 20 páginas más »
Disponible sólo en Clubensayos.com