Introducción a la Programación Orientada a Objetos: Conceptos y Aplicaciones

Introducción a la Programación Orientada a Objetos

La programación orientada a objetos es una nueva forma de enfocar el trabajo de la programación. La característica más importante de un lenguaje orientado a objetos es el objeto. Un objeto es simplemente una entidad lógica que contiene datos y un código o datos que pueden ser privados del objeto e inaccesibles desde fuera de él.

Partes importantes en la definición de POO

  1. Utiliza objetos, no algoritmos, como bloques de construcción lógicos.
  2. Cada objeto es una instancia de una clase.
  3. Las clases se relacionan una con otra por medio de relaciones de herencia.

Tipos de datos

Asimilables a enteros

  • carácter (char)
  • enteros (int)
  • booleanos (bool)
  • enumeraciones (enum)

Fraccionarios

Dos versiones: float y double.

VcqRCOVIQGwhGvINZ3VHyoK4WtZC7IMRJNq9e_pW

Otros tipos

  • Ausencia de dato, sin valor (void).
  • Modificadores de tipos numéricos:
    • largo (long)
    • corto (short)
    • con signo (signed)
    • sin signo (unsigned)

Sentencias de control de flujo

Las sentencias especifican y controlan el flujo de ejecución del programa. Si no existen sentencias específicas de selección o salto, el programa se ejecuta de forma secuencial en el mismo orden en que se ha escrito el código fuente (es el que podríamos considerar orden natural de ejecución).

Tipos de sentencias

  • De etiqueta
  • De expresión
  • Compuestas
  • De selección
  • De iteración
  • De salto
  • De declaración
  • Bloques de intento
Sentencias de etiqueta

En C++ existen tres clases de sentencias etiquetadas: las etiquetas directas, las sentencias case y las default, estas últimas se utilizan en conjunción con las sentencias switch.

Sentencias de expresión

Podríamos decir que son las que no pertenecen a ninguno de los otros grupos y que, en la práctica, son las más abundantes. Generalmente son asignaciones o invocaciones de funciones.

Sentencias compuestas

Las sentencias compuestas, también denominadas bloques, se utilizan en aquellas situaciones en que la sintaxis espera una sentencia pero se necesita usar varias.

Sentencias de selección

Las sentencias de selección o de control de flujo, pueden decidir entre varios cursos de acción distintos en función de ciertos valores. Existen dos tipos de estas sentencias de selección: if…else y switch.

Sentencias de iteración

Las sentencias de iteración permiten repetir un conjunto de sentencias ejecutando un bucle. En C++ existen tres formas de iteraciones: los bucles while, do…while y for.

Sentencias de salto

Las sentencias de salto permiten transferir el control del programa de forma incondicional. Existen cuatro de estas sentencias: break, continue, y return.

Sentencias de declaración

Este tipo de sentencias introducen uno o más identificadores en un bloque.

Bloques de intento

Estas sentencias deben estar seguidas de una sentencia catch.

Operadores

Tabla de operadores Relacionales

OperadorAcción
>Mayor que
>=Mayor que o igual
<Menor que
<=Menor que o igual
==Igual
!=No igual

Tabla de operadores Lógicos

OperadorAcción
&&Y
||O
!NO

Expresiones y operadores

Tabla de caracteres especiales

CódigoSignificado
\bEspacio atrás
\fSalto de página
\nSalto de línea
\rRetorno de carro
\tTabulación horizontal
Comillas dobles
\’Comilla simple
\0Nulo
\\Barra invertida
\vTabulación vertical
\aAlerta
\oConstante octal
\xConstante hexadecimal

Tabla de operadores aritméticos

OperadorAcción
Resta, también menos monario
+Suma
*Multiplicación
/División
%División en módulo
Decremento
++Incremento

Objetos (ejemplos)

La característica más importante de un lenguaje orientado a objetos es el objeto. Un objeto es simplemente una entidad lógica que contiene datos y un código que manipula estos datos.

ObjetoObjeto
Nombre del objetocalculadora
Atributos (propiedades)
  • Marca
  • Capacidad de memoria
  • Tipo de pantalla
Método (acciones / operaciones)
  • Enciende y apaga
  • Pulsar teclas
  • Cálculos
  • Tipos de gráficos

Programación de Tipos de Datos Abstractos y sus Relaciones

Dentro de esta sección presentamos los tipos de datos abstractos como un concepto básico de orientación a objetos.

Tipos de datos abstractos (TDAs)

Definición (Tipo de Datos Abstracto) Un tipo de datos abstracto (TDA) se caracteriza por las siguientes propiedades:

  1. Exporta un tipo.
  2. Exporta un conjunto de operaciones. Este conjunto es llamado interface.
  3. Las operaciones de la interface son el único y exclusivo mecanismo de acceso a la estructura de datos del TDA.

Objetos

Objeto: Un objeto es una unidad que engloba en sí mismo datos y procedimientos necesarios para el tratamiento de esos datos.

En otras palabras, un objeto es un conjunto de software de datos y procedimientos que actúan sobre estos datos. La mezcla de datos y métodos proporciona un medio más exacto de representar los objetos del mundo real en software.

Estructura de un objeto

Las relaciones permiten que el objeto se inserte en la organización y están formadas esencialmente por punteros a otros objetos.

Las propiedades distinguen un objeto determinado de los restantes que forman parte de la misma organización y tiene valores que dependen de la propiedad de que se trate. Las propiedades de un objeto pueden ser heredadas a sus descendientes en la organización.

Los métodos son las operaciones que pueden realizarse sobre el objeto, que normalmente estarán incorporados en forma de programas (código) que el objeto es capaz de ejecutar y que también pone a disposición de sus descendientes a través de la herencia.

Los métodos son subrutinas que definen la interfaz de una clase, sus capacidades y comportamiento.

Un método ha de tener por nombre cualquier identificador legal distinto de los ya utilizados por los nombres de la clase en que está definido. Los métodos se declaran al mismo nivel que las variables de instancia dentro de una definición de clase.

Definición (Clase): Una clase es la implementación de un tipo de datos abstracto (TDA). Define atributos y métodos que implementan la estructura de datos y operaciones del TDA, respectivamente.

Abstracción

Abstracción consiste en aislar un elemento de su contexto o del resto de los elementos que lo acompañan.

Encapsulamiento

Es el proceso de empaquetar los datos junto con sus métodos.

Modularidad

Ocultación de la implementación

Se refiere a la protección de la implementación interna de un objeto.

Herencia

La herencia es un mecanismo que permite la definición de una clase a partir de la definición de otra ya existente. La herencia permite compartir automáticamente métodos y datos entre clases, subclases y objetos.

Una superclase puede tener cualquier número de subclases.

Una subclase puede tener sólo una superclase.

Definición (Herencia): Herencia es el mecanismo que permite que un clase A herede propiedades de una clase B. Decimos «A hereda de B». Objetos de la clase A tienen así acceso a los atributos y métodos de la clase B sin necesidad de redefinirlos. La siguiente definición describe dos términos con los que podemos hacer referencia a las clases involucradas cuando se usa la herencia.

Definición (Superclase/Subclase): Si la clase A hereda de la clase B, entonces B es la superclase de A. A es subclase de B. Los objetos de una subclase pueden ser usados en las circunstancias donde son usados los objetos de la superclase correspondiente.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.