Universidad Veracruzana: Introducción A La Programación
Universidad Veracruzana: Introducción A La Programación
Universidad Veracruzana: Introducción A La Programación
Tecnologas Computacionales
Introduccin a la Programacin
Programacin Orientada a Objetos (POO)
Caractersticas de la POO
La Programacin Orientada a Objetos, representa una nueva forma de pensar y de
enfocarse en la solucin de los problemas.
Las caractersticas principales son:
Abstraccin.
Encapsulamiento.
Herencia.
Polimorfismo.
Ventajas de la POO
Algunas de las ventajas de la Programacin Orientada a Objetos son:
Abstraccin.
Encapsulamiento.
Facilita la reutilizacin del cdigo.
Mayor legibilidad.
Tipos de acceso
Al definir una clase se pueden establecer diferentes grados de seguridad para sus
miembros, determinando de esta manera los posibles usuarios de los mismos. Las tres
categoras de seguridad que maneja C++ son:
Privada: Los miembros definidos en esta seccin slo se pueden acceder por
miembros de la misma clase.
Protegida: Los miembros de la clase definidos en esta seccin sern accedidos
solamente por miembros de la misma clase y de sus clases derivadas.
Pblica: Atributos y mtodos que estarn disponibles para cualquier cliente.
Pensando en POO
Al momento de programar con el paradigma Orientado a Objetos debemos pensar en
trminos del mundo real (abstraccin).
Dominio: Alumno universitario.
Actualizar Direccin.
Actualizar Carrea.
Actualizar Promedio
El Constructor: es una funcin que se ejecuta automticamente al declarar un objeto como instancia de una clase; se escribe generalmente en
la seccin pblica de una clase y su funcin es crear e iniciar un objeto del tipo de la clase en la cual fue definido. De esta manera, los
constructores permiten asegurar que los objetos, al crearse, se inicialicen con valores vlidos
Definicin de Clase
La definicin de una clase en C++ comienza con la palabra reservada class, seguida del
nombre de la clase. El nombre elegido debe hacer referencia al concepto representado. La
clase puede tener tres tipos diferentes de secciones: privada, protegida y pblica. En cada
una de estas secciones se podran definir atributos y/o funciones de la clase.
class NombreClase
{
private:
atributos y/o funciones;
protected:
atributos y/o funciones;
public:
atributos y/o mtodos;
};
Para declarar un objeto del tipo de la clase previamente definida, se emplea la siguiente
sintaxis:
NombreClase NombreObjeto;
Ejemplos (1)
Presenta una clase llamada LibroCalificaciones, con una funcin miembro que
simplemente muestra un mensaje de bienvenida cuando se llama.
Ejemplos (1)
Nombre de la clase
Diagrama UML
LibroCalificaciones
+ mostrarMensaje ()
Funcin Miembro
pblica (+)
Ejemplos (2)
Modifica la clase LibroCalificaciones, con una funcin miembro que recibe el nombre de
un curso como argumento.
Ejemplos (2)
Nombre de la clase
Diagrama UML
LibroCalificaciones
Funcin Miembro
pblica (+)
Ejemplos (3)
El tercer ejemplo muestra cmo almacenar el nombre del curso en un objeto tipo
LibroCalificaciones.
Ejemplos (3)
Datos miembro
Nombre de la clase
Diagrama UML
LibroCalificaciones
- nombreCurso: String
+ establecerNombreCurso (nombre: String)
+ obtenerNombreCurso () : String
+ mostrarMensaje()
Funcines Miembro
pblica (+)
Ejemplos (4)
Demuestra cmo pueden inicializarse los datos en un objeto tipo LibroCalificaciones, a la
hora de crear el objeto; la inicializacin se lleva a cabo mediante una funcin miembro
especial, conocida como el constructor de la clase.
Ejemplos (4)
Datos miembro
Nombre de la clase
Diagrama UML
LibroCalificaciones
- nombreCurso: String
<<constructor>> + LibroCalificaciones (nombre: String)
Funcines Miembro
pblica (+)
Ejemplos (5)
Demuestra como colocar la clase LibroCalificaciones en un archivo separado para
habilitar la reutilizacin de software.
Uno de los beneficios de crear definiciones de clases es que, cuando se
empaquetan en forma apropiada, nuestras clases pueden ser reutilizadas por los
programadores.
La funcin main empieza la ejecucin de todo programa, y cada programa debe
tener slo una funcin main.
Los ejemplos anteriores consisten de un solo archivo .cpp, el cual se conoce
tambin como archivo de cdigo fuente, el cual contiene la definicin de la
clase LibroCalificaciones y una funcin main.
Al construir un programa en C++ orientado a objetos, es costumbre definir el
cdigo fuente reutilizable (como una clase) en un archivo que, por convencin,
tiene la extensin .h; a ste se le conoce como archivo de encabezado.
En el presente ejemplo, separaremos
LibroCalificaciones.h y principal.cpp
el
cdigo
en
dos
archivos:
Ejemplos (5)
Ejemplos (6)
La interfaz de la clase se separa de su implementacin.
La interfaz de una clase describe qu servicios pueden usar los clientes de la
clase y cmo solicitar esos servicios, pero no cmo lleva a cabo la clase esos
servicios.
Una mejor ingeniera de software es definir las funciones miembro fuera de la
definicin de la clase, de manera que sus detalles de implementacin se puedan
ocultar del cdigo cliente.
El programa separa la interfaz de LibroCalificaciones de su implementacin;
para ello divide la definicin de la clase en dos archivos:
LibroCalificaciones.h : Se define la clase
LibroCalificaciones.cpp : se definen las funciones miembro de LibroCalificaciones.
Principal.cpp : define la funcin main.