Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 9

Ing° Oliver A. Vilca H.

Pág : 12

1
CAPITULO
PROGRAMACIÓN
ORIENTADA A OBJETOS

INTRODUCCIÓN

LAS HERRAMIENTAS Y LENGUAJES ORIENTADA OBJETOS. Permite al


mundo real, ser expresado en forma más fácil y naturalmente. La
intención del paradigma Orientado a Objetos es hacer que la
programación sea más directa y auténtica. La Orientación a Objetos
permite al programador concentrarse en solo resolver el problema y
obtener los resultados deseados en lugar de tratar con las restricciones del
entorno.

Un programa es básicamente un procedimiento que es utilizado para


resolver un problema y obtener resultados en un entorno de computación.
En la programación orientada a objetos, los objetos son los elementos
principales de desarrollo de programas. Fue desarrollado por las
limitaciones de las anteriores técnicas de programación, como la
programación estructurada.

PROGRAMACIÓN NO ESTRUCTURADA

El vale todo, es una modalidad de combate que en sus inicios se permitía


casi todo y en la mayoría de eventos no se usaba guantillas, el fin
principal ganar. Algo similar sucedió con los primeros programadores
que no tenían metodologías bien definidas, el objetivo era que el
Ing° Oliver A. Vilca H. Pág : 13

problema se ejecute correctamente, no importaba si se utilizaba la antigua


sentencia GoTo (sentencia que permitía saltar sin condición a cualquier
otra linea de código). Por lo tanto, si no se usa ningún modelo de
programación probablemente se este en modo no estructurado.

Se solía, construir un programa en una única función principal que


utilizaba variables de tipo global, esto puede tener resultado en
problemas triviales.

Los resultados son: (1) es difícil seguir el flujo del programación, (2) la
estructura de control de flujo es compleja e incomprensible, y (3) es fácil
de cometer errores. También, se acuño el término “Código espagueti”
como término peyorativo (de enredado).

PROGRAMACIÓN ESTRUCTURADA

La idea fundamental es dividir un programa en unidades más pequeñas


(funciones ó procedimientos o subrutinas). Es un paradigma de
programación destinado a mejorar la claridad, la calidad y el tiempo de
desarrollo de un programa recurriendo únicamente a tres estructuras
básicas: secuencial, selección (if/then/else) y repetición (while y for).

Factores que contribuyeron, el teorema del programa estructurado


(Corrado & Jacopini, 1966), y la publicación del influyente "GoTo
Statement Considered Harmful" por Edsger W. Dijkstra, quien acuñó el
término "programación estructurada" (Dijkstra, 1968).

PROGRAMACIÓN ORIENTADA A OBJETOS

La POO permite organizar los datos de un programa al igual que los


objetos del mundo real, como los departamentos de una compañía.
Método de programación en el que los objetos son los elementos
principales de desarrollo.
Ing° Oliver A. Vilca H. Pág : 14

OBJETOS. Los estudiantes, árboles, departamentos de una compañía


(personal, contabilidad, ventas, etc.), se conocen en general como
objetos. Un objeto tiene una sola entidad y un único nombre, datos y una
forma de operar sobre ellos las funciones.

MENSAJES. Los objetos reciben interpretan y responden a mensajes de


otros objetos. Los objetos se comunican unos con otros llamando a los
métodos. Un mensaje es la emisión o acción que hace un objeto.

MÉTODOS. Un método actúa sobre un objeto, y determina como debe


actuar el objeto cuando reciba un mensaje. En contraste, las variables
asociadas permiten almacenar información para dicho objeto. Es el
procedimiento o función que se invoca para actuar sobre un objeto, un
método indica como se ejecuta o responde a un mensaje. En C++ se
denominan funciones miembro, en otros lenguajes orientado a objetos se
denomina métodos.

CLASE. (Objeto en general) es una plantilla, modelo o descripción para


producir objetos de un determinado tipo. Esta formada por los métodos y
datos que definen las características comunes a todos los objetos de esa
clase. Así por ejemplo, una clase puede describir las características
fundamentales de un estudiante universitario (nombres, apellidos,
número de matrícula, escuela profesional a la que pertenece, ciclo de
estudios, etc.), mientras que un objeto representara a un estudiante
específico (Carlos, Salas, 002354, Ingeniería de Sistemas, II ciclo, etc.).
Al elemento miembro de una clase se le denomina objeto.

El proceso de programación en un lenguaje orientado objetos se


caracteriza por:
 Crear clases, que definen la representación y el comportamiento
de los objetos.
 Crear objetos a partir de la definición de las clases.
Ing° Oliver A. Vilca H. Pág : 15

 Implementar la comunicaciones entres objetos a través del envío


de mensajes.

Un programa orientado a objetos realiza fundamentalmente tres cosas.


 Crea los objetos requeridos.
 Los mensajes enviados a los objetos dan lugar a que se procese
información internamente.
 Cuando los objetos no son necesarios son destruidos, liberándose
el espacio de memoria ocupado por ellos.

La POO presenta algunas desventajas, como la ejecución de un programa


es más lenta y obliga al usuario aprender una amplia librería de clases
antes de empezar a manipular un lenguaje orientado a objetos.

EL LENGUAJE C++

El lenguaje C++ es un lenguaje de programación de propósito general. Es


considerado como un lenguaje de nivel medio, ya que comprende las
características de un lenguaje de alto nivel y de bajo nivel (Schildt, 1998). Su
autor fue Bjarne Stroustrup. El nombre C++ hace referencia al carácter
del operador incremento: “++”. Ante la gran difusión y éxito que iba
obteniendo en el mundo de los programadores, la ATT comenzó a
estandarizarlo internamente en 1987. En 1989 se formó un comité ANSI
(seguido algún tiempo después por un comité ISO) para
estandarizarlo a nivel americano e internacional.

C++ es un lenguaje versátil, potente. El C++ mantiene las ventajas del C


en cuanto a riqueza de operadores y expresiones, flexibilidad, concisión y
eficiencia. El C++ es a la vez un lenguaje orientado a objetos.

Varios grupos proporcionan un compilador C++ tanto libre como


propietario, incluyendo el Proyecto GNU, LLVM, Microsoft e Intel. C++
Ing° Oliver A. Vilca H. Pág : 16

ha influido enormemente en muchos otros lenguajes de programación,


sobre todo C# y Java (Naugler, 2007).

Utilizando la clase iostream. La librería estándar de entrada/salida del


C++ es la librería iostream. Consiste en una colección clases que
proporcionan soporte de entrada/salida para el terminal del usuario y
archivos. Para incluir esta librería de clases hay que incluir el archivo
cabecera con la siguiente sentencia:

#include <iostream>

El paquete iostream define automáticamente una variable (un objeto)


llamado cout (pronunciado en inglés: see out) que acepta todos los datos
con destino a la salida estándar.

Para enviar datos a la salida estándar se utiliza el operador << que se


puede entender como “enviar a” por ejemplo:

cout << "Hola amigo";

Envía la cadena “Hola amigo” al objeto denominado cout (el cual es una
abreviatura de “console output”). El usuario verá:

Hola amigo

Leer datos del usuario. Primero se debe definir un objeto en el cual


almacenar la información. Se debe especificar el tipo de dato del objeto y
su nombre. Un tipo de dato apropiado para guardar un nombre del
usuario es la librería estándar string. Ejemplo:

#include <iostream>
cout << "Por favor ingrese su nombre: ";
Ing° Oliver A. Vilca H. Pág : 17

string nombre_usuario ;
cin >> nombre_usuario;

El código define a nombre_usuario como un objeto de la clase string.


Para dicho fin es necesario que se incluya previamente a iostream. Luego
para leer el nombre desde el terminar del usuario, se utiliza el objeto
denominado cin (pronunciando en inglés see in), también se emplea el
operador >> para leer los datos desde el terminal del usuario.

Finalmente, se puede terminar el main() utilizando la sentencia de


retorno:

return 0;

Es una palabra reservada del C++. La expresión que sigue a return, en


este caso 0, representa el valor resultante de la función, indicando que el
programa se ejecutó satisfactoriamente.

DEFINICIÓN DE UNA CLASE EN C++. La sintaxis es similar a una


estructura (struct), añadiendo la posibilidad de controlar el grado de
acceso a los datos y métodos de las clase, determinados por las
declaraciones public (publica), private (privada) y protected (protegida).

class x {
private:
// Miembros privados.
protected:
// Miembros protegidos.
public:
// Miembros públicos.
};
Ing° Oliver A. Vilca H. Pág : 18

Como primer ejemplo se implementará la clase “Mensaje” con una


función miembro denominado “mostrarMensaje”. En la función
principal “main” se crea un objeto “miPrimerObjeto” (que
pertenece a la clase “Mensaje”). La función main utiliza el objeto
creado y llama a la función miembro “mostrarMensaje()” para
mostrar en la pantalla: “Mi primer Programa Orientado a
objetos”.

#include<iostream>
using namespace std;

class Mensaje
{
public:

//funcion miembro que muestra un mensaje


void mostrarMensaje()
{
cout<<"Mi primer Programa Orientado a objetos" <<endl;
} //fin de la funcion mostrarMensaje
};

int main()
{
Mensaje miPrimerObjeto; // Crea un objeto miPrimerObjeto
miPrimerObjeto.mostrarMensaje();//Llama a la funcion
}

1. Definir la clase y sus funciones miembro:

#include <iostream>
using namespace std;
class Empleado { // Definir clase Empleado
private: // Definir datos privados que
almacena el objeto
Ing° Oliver A. Vilca H. Pág : 19

int Codigo;
string Nombre;
public:
void Registrar(int codigo, string nombre);
void Mostrar();
void borrar(int codigo);
};

void Empleado::Registrar(int cod, string nom){


Codigo=cod;
Nombre=nom;
}

void Empleado::Mostrar(){
cout<< "Nombre: " << Nombre << endl;
cout<< "Codigo: " << Codigo << endl;
}

int main(){
//Crear un objeto con valores no definidos.
Empleado Bibliotecario;

// Enviar datos del empleado.


Bibliotecario.Registrar(765,"Juan_Torres");
// Mostrar datos del empleado.
Bibliotecario.Mostrar();
}

PROPIEDADES DE LA POO

ENCAPSULAMIENTO. Ocultamiento de los datos de un objeto, con el


objetivo de manejarlos como unidades básicas, permaneciendo oculta su
estructura interna y los detalles de implementación. Permite ver al objeto
Ing° Oliver A. Vilca H. Pág : 20

como una caja negra, no obstante se debe considerar en el diseño como


se accede al objeto.

En C++, la encapsulación se manipula mediante las palabras reservadas:


private, public y protected. (detalles en el capítulo 4).

HERENCIA. Herramienta o propiedad para compartir automáticamente


métodos y datos entre clases y subclases. Permite a los objetos ser
construidos a partir de otro antepasado, se sustenta en la definición de la
vida diaria, por ejemplo los animales se dividen en mamíferos, ovíparos,
etc. Asimismo, los mamíferos se pueden seguir subdividiendo en clases y
subclases.

Esta propiedad da paso a la reutilización de código en la programación


orientada a objetos. Por ejemplo, un objeto de clase "auto convertible"
tiene las características heredadas de la clase más general "automóvil",
específicamente, el techo.

En C++, herencia equivale a derivación de clases. Se utiliza el término


clase padre y clase derivada.

POLIMORFISMO. Propiedad mediante el cual se puede implementar de


diferentes maneras un mismo método, dependiendo de la clase sobre la
que se efectúa la implementación. Permite que objetos distintos
respondan de diferentes modos al mismo mensaje. Por ejemplo, en C++
puede ser el método (función miembro) dibujar para diferentes clases
(triángulo, rectángulo, etc)

En C++, se emplea utilizando clases derivadas, funciones virtuales y


punteros a objetos.

También podría gustarte