sábado, 11 de mayo de 2019

Paradigma de la Programación Orientada a Objetos

Mis Aprendizajes sobre la programación Orientada a Objetos - POO


Paradigma de la Programación a Objetos.

Resumen.


La programación orientada a objetos es un paradigma de programación debido a que introduce una nueva manera de desarrollar soluciones computacionales que tal vez los métodos de programación contemporáneos no ofrecían de manera manejable y de fácil mantenimiento.

La POO está basada en el concepto de objeto, el cual contiene datos en la forma de campos o también conocidos como atributos, el código en la forma de procedimientos también llamados métodos. Una característica de los procedimientos de los objetos es que pueden acceder y regularmente modificar los datos en los campos de los objetos con los que ellos están asociados. En la POO los programas están diseñados para hacer que los objetos interactuen unos con otros.

La diferencia que ofrece este nuevo paradigma respecto a los viejos es que, en un lenguaje de procedimientos, no hay ningún enlace entre los datos y los procedimientos que los manejan. Por el contrario en un lenguaje orientado a objetos agrupamos los datos con el código que lo manejan. Las CLASES son la representación simbólica de los OBJETOS. Las CLASES describen campos, propiedades, métodos y eventos.

Haciendo una analogía con el trabajo de un ingeniero, la CLASE se correspondería con el plano de un motor y e OBJETO serían los diferentes motores que se construyen a partir de ese plano. Crear un OBJETO a partir de un una clase es lo que se llama INSTANCIAR.

Las tres propiedades de la POO son:


ENCAPSULACIÓN: Agrupa datos y códigos en una única clase.
HERENCIA: Permite la creación de una nueva clase a partir de otra ya existente, de la cual se hereda todo y puede personalizarse añadiendo o modificando propiedades y métodos heredados. Las clases creadas a partir de otras existentes se llaman CLASES DERIVADAS.
POLIMORFISMO: Gracias a esta propiedad se pueden utilizar diferentes clases de forma intercambiable. Otros conceptos asociados al polimorfismo son la SOBRECARGA,  SOBRESCRITURA y la OCULTACIÓN.


Clases en POO.

Las clases son declaraciones de objetos, también se podrían definir como abstracciones de objetos. Esto quiere decir que la definición de un objeto es la clase. Cuando programamos un objeto y definimos sus características y funcionalidades en realidad lo que estamos haciendo es programar una clase. Por ejemplo si definimos trabajamos en una empresa debe existir la clase empleado, que a su vez produce los objetos empleado con unas características, propiedades y maneras de interactuar. Por poner otro ejemplo vamos a ver cómo modelaríamos en un esquema POO una fracción, es decir, esa estructura matemática que tiene un numerador y un denominador que divide al numerador, por ejemplo 3/2. La fracción será el objeto y tendrá dos propiedades, el numerador y el denominador. Luego podría tener varios métodos como simplificarse, sumarse con otra fracción o número, restarse con otra fracción, etc.

Propiedades en clases 
Las propiedades o atributos son las características de los objetos. Cuando definimos una propiedad normalmente especificamos su nombre y su tipo. Nos podemos hacer a la idea de que las propiedades son algo así como variables donde almacenamos datos relacionados con los objetos.

Métodos en las clases 
Son las funcionalidades asociadas a los objetos. Cuando estamos programando las clases las llamamos métodos. Los métodos son como funciones que están asociadas a un objeto.

Variables de clase: Variables de que pertenecen a la clas como un todo; hay solo una copia de cada una.
Variables de instancia o Atributos: Datos que pertenecen a objetos individuales; todo objeto tiene su propia copia de cada uno.
Variables miembro: Se refiere a ambos, a las variables de instancia y de clase que son definidas por una clase particular.

Objetos en POO.

Los objetos son ejemplares de una clase cualquiera. Cuando creamos un ejemplar tenemos que especificar la clase a partir de la cual se creará. Esta acción de crear un objeto a partir de una clase se llama instanciar (que viene de una mala traducción de la palabra instace que en inglés significa ejemplar). Por ejemplo, un objeto de la clase fracción es por ejemplo 3/5. El concepto o definición de fracción sería la clase, pero cuando ya estamos hablando de una fracción en concreto 4/7, 8/1000 o cualquier otra, la llamamos objeto.

Los objetos muchas veces corresponden  a cosas que podemos encontrar en el mundo real. Por ejemplo un programa gráfico puede tener un objeto que se llame "circulo", "cuadrado", "menú" , etc. Una tienda online podría tener objetos tales como " carrito", "cliente", y "producto". Ademas algunas veces los objetos representan entidades mas abstractas, como vimos anteriormente la fracción, o por ejemplo un archivo abierto o un objeto que provee la traducción de un lenguaje a otro.  

Métodos.

Un método es un bloque de código que contiene una serie de instrucciones. Un programa hace que se ejecuten las instrucciones al llamar al método y especificando los argumentos de método necesarios. En C#, todas las instrucciones ejecutadas se realizan en el contexto de un método. El método Main es el punto de entrada para cada aplicación de C# y se llama mediante Common Language Runtime (CLR) cuando se inicia el programa.

Métodos de clase: Pertenece a la clase como un todo y tiene acceso solo a las variables de clase y entradas de las llamadas de procedimientos.
Métodos de instancia: Pertenece a los objetos individuales y tiene acceso a las variables de instancias, entradas y variables de clase  por el propio objeto que las esta llamando.
Acceso a métodos.
Llamar a un método en un objeto es como acceder a un campo. Después del nombre del objeto, agregue un punto, el nombre del método y paréntesis. Los argumentos se enumeran entre paréntesis y están separados por comas.


Procedimientos:

En C# tenemos 4 tipos de estos procedimientos:


  • Los procedimientos que ejecutan un código a petición sin devolver ningún resultado.
  • Las funciones que ejecutan un código y devuelven el resultado al código que las llamó.
  • Los procedimientos de propiedades que permiten manejar las propiedades de los objetos creados.
  • Los procedimientos de operador utilizados para modificar el funcionamiento de un operador cuando se aplica a una clase o una estructura.



Mapa mental

https://www.goconqr.com/es/p/18055486-Conceptos-identificados-POO-mind_maps

No hay comentarios.:

Publicar un comentario