lunes, 27 de abril de 2020

Programación orientada a objetos

Para entender la programación orientada a objetos (POO) es necesario tener conocimiento de las definiciones de:
  • Arquitectura orientada a objetos
  • Análisis orientado a objetos
  • Diseño orientado a objetos
  • Lenguaje orientado a objetos
  • Metodología de desarrollo orientado a objetos
Para ver la definición de clases y objetos has clic aquí.


Arquitectura orientada a objetos

La arquitectura del software orientado a objetos da como resultado una serie de subsistemas en capas que encapsulan clases colaboradoras. Cada uno de estos elementos de sistema (subsistemas y clases) realiza funciones que ayudan a lograr los requerimientos del sistema.


Análisis orientado a objetos

analiza los requisitos desde una óptica de clases y objetos que encontrará durante los flujos de trabajo fundamentales de requisitos y análisis


Lenguaje orientado a objetos

Según el Institute of Electrical and Electronics Engineers (IEEE) son todos aquellos lenguajes de programación que permiten al usuario expresar un programa en términos de objetos y mensajes entre estos. Tenemos entre ellos a:
  • Java
  • PHP
  • C#
  • etc.

Diseño orientado a objetos

Según el IEEE el diseño orientado a objetos es una técnica de desarrollo de software en la cual un sistema o componente de este se expresa en términos de objetos y conexiones entre estos.


Metodología de desarrollo orientado a objetos

Es un enfoque de desarrollo que tiene como eje las abstracciones de objetos y clases, así como el uso de módulos para poder analizar y diseñar un software mediante el análisis y diseño orientado a objetos y posteriormente con ello desarrollar dicho sistema mediante la programación orientada a objetos que debe soportar como mínimo el encapsulamiento, herencia y polimorfismo. Para continuar luego con las demás fases de desarrollo.

Clases y objetos en POO

Objetos

Un objeto es:
  • La unidad básica de construcción en la programación orientada a objetos POO.
  • La abstracción de un concepto del mundo real contemplando sus atributos y las operaciones disponibles que realiza. 
  • Un módulo (identidad) que contiene atributos (estado) y métodos (comportamiento), visto como programa.
  • La instancia de una clase.

Atributos y métodos

  • Los atributos son las características o atributos que posee un objeto, deben declararse en la clase. Por ejemplo: el color, la profesión, número de hijos, edad, fecha de nacimiento, etc. son atributos de un objeto.
  • Los métodos son las operaciones o  comportamientos que posee un objeto, deben declararse en la clase. Por ejemplo: 

Clases

Las clases son:
  • Las definiciones de estructura y comportamiento abstracto que servirá posteriormente para la creación de objetos.
  • Abstracciones que definen a un determinado tipo de objetos, como si fueran plantillas.

Consideraciones

  • Cuando se crea un objeto, primero se debe definir a la clase.
  • Los objetos al crearse reciben un "nombre" que es su identidad y permanece inalterado aún cuando se realicen cambios en su estado. 
  • El proceso de creación de un objeto se conoce como instanciación.


Ejercicio con PseInt usando funciones

Las funciones dentro de PseInt se pueden crear mediante la palabra reservada SubProceso, SubAlgortimo o Función. Esto dependerá del estilo d...