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

UNIVERSIDAD VERACRUZANA

Tecnologas Computacionales

Introduccin a la Programacin
Programacin Orientada a Objetos (POO)

Mtro. Alberto Jair Cruz Landa


albertojair1614@gmail.com

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.

Conceptos clave de la POO


Clases: Componente principal, que podra ser visto como una plantilla que define los
atributos y mtodos que son comunes para todos los objetos de un cierto tipo.
Objeto: Representa una entidad concreta o abstracta del mundo real, en programacin se
le denomina como una instancia de una clase (se crean durante la ejecucin del programa).
Atributos: Representan las caractersticas relevantes del objeto.
Mtodos: Son las funciones asociadas a los objetos.

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.

Datos: Representan las caractersticas ms importantes de


todo alumno

Nombre: cadena de caracteres.

Direccin: cadena de caracteres.

Matrcula: nmero entero.

Ao de ingreso: nmero entero.

Carrera: cadena de caracteres.

Promedio: nmero real.

Operaciones vlidas: representan aquellas operaciones que


se pueden realizar sobre o con los datos de un alumno.
o
Constructor.

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

+ mostrarMensaje (nombreCurso : String)

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 (+)

Es importante lectura 116 pdf

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)

+ establecerNombreCurso (nombre: String)


+ obtenerNombreCurso () : String
+ mostrarMensaje()

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.

Вам также может понравиться