Mostrando entradas con la etiqueta Programación orientada a objetos. Mostrar todas las entradas
Mostrando entradas con la etiqueta Programación orientada a objetos. Mostrar todas las entradas

sábado, 13 de mayo de 2017

Principios SOLID de la programación orientada a objetos

Solid es un acrónimo para establecer los cinco principios básicos de la programación orientada a objetos y diseño. El objetivo de tener un buen diseño de programación es llegar a la fase de mantenimiento de una forma más legible y sencilla así como conseguir crear nuevas funcionalidades sin tener que modificar en gran medida código antiguo. Los costes de mantenimiento pueden abarcar el 80% de un proyecto de software por lo que hay que valorar un buen diseño.
Las reglas SOLID son un conjunto de principios que, aplicados correctamente,  ayudan a escribir software de calidad en cualquier lenguaje de programación orientado a objetos. El código será más fácil de leer, testear y mantener.

Los procesos de refactorización serán mucho más sencillos si se cumplen estas reglas.

Los principios en los que se basa SOLID son los siguientes:
Principio de Responsabilidad Única
Principio Open/Closed
Principio de Sustitución de Liskov
Principio de Segregación de Interfaces
Principio de Inversión de Dependencias


Principios SOLID de la programación orientada a objetos





jueves, 6 de febrero de 2014

Clases intercambiables utilizando polimorfismo. (1ª Parte)

En este artículo aprenderemos a:


§ Usar clases derivadas polimórficamente.
§ Crear una clase que deriva de una clase UserControl.

A continuación utilizaremos el polimorfismo, para resolver una tarea de programación. El polimorfismo hace referencia a una instancia de una clase derivada a través de una variable de referencia a la clase base. (Ver Clases base y abstractas) Cuando llamemos a un método o utilicemos una propiedad, serán definidos en la clase derivada. De este modo, las clases derivadas podrán responder de diferentes maneras a la llamada al mismo método. El polimorfismo simplifica la programación y hace que el diseño más fácilmente extensible.


lunes, 8 de julio de 2013

Visual Basic .NET: Crear campos y propiedades


En este articulo aprenderemos a programar en VB.NET una clase con campos y propiedades, también aprenderemos a:

Crear una propiedad de sólo lectura.

Crear una propiedad que toma un parámetro.

Usar un array de instancias de clase como fuente de un control DataGrid.

Las propiedades contienen las características de los objetos a los que pertenecen. Por ejemplo la clase coche tiene la propiedad color para indicar el color del coche. O una caja de texto tiene las propiedades alto y ancho que especifica sus dimensiones en la pantalla.

Existe también una interacción entre las propiedades de una clase y el comportamiento del objeto. Al mover una caja de texto (un comportamiento) cambia su ubicación (una propiedad). Veremos este modelo en varias ocasiones en el diseño orientado a objetos.

viernes, 19 de abril de 2013

Principios de la programación orientada a objetos

Introducción

La programación orientada a objetos (POO) o por sus siglas en inglés (OOP) es un paradigma que enfoca la programación como si trabajásemos con objetos del mundo real, esto es muy atractivo desde el punto de vista de la clasificación y análisis de las partes que integrarán un programa pues es posible pensar en objetos del mundo real y sus interacciones entre ellos.

Así pues el concepto más importante de dicho paradigma es la Clase que establece la definición genérica de un Objeto o Instancia dentro de un programa, en el mundo real una clase es un Coche, un Animal, una Factura o cualquier cosa tangible o intangible del mundo real.

El objeto o instancia es la ocurrencia concreta de la clase. Así, mi coche es un objeto de la clase coche, un coche tiene 4 ruedas, un volante, un motor, faros, etc, etc. Mi coche particular es de un modelo concreto, es rojo o amarillo, tiene x kilómetros pero hay muchos coches concretos, cada uno con sus atributos, así una clase es un Molde que establece las Propiedades (color, marca, modelo) de cada coche concreto, objeto.
Además de propiedades un coche puede interaccionar con el mundo, por ejemplo puede acelerar, frenar, girar a la derecha a izquierda, este tipo de interacción se llama Método o Función y se define en cada clase junto con las propiedades.
                             
principios programación orientada a objetos

De este modo tenemos la clase coche con las propiedades color, marca, modelo, etc y los métodos acelerar, frenar, girar. Todo esto se encapsula y sirve de molde para implementar diferentes objetos u ocurrencias concretas, coche azul marca X que acelera de 0 a 100 en 7 segundos, etc, etc.
La OOP nos permite pensar en el mundo real y diseñar inmediatamente el código que maneje cualquier información.  Podemos pensar en una clase Factura que tiene unas propiedades: Importe, datos de cliente, datos de cabecera, etc y unos métodos: Imprimir, borrar, grabar, etc.
Toda esta operativa se programa en un mismo módulo (Encapsulación) y ya no es necesario tocar  pues permite crear un código de cliente que opere con los objetos  de cada clase sin necesidad de tocar el código de las clases.

Las clases soportan la Herencia, Un Animal puede ser un perro o un gato, del mimo modo que la clase animal puede derivarse en otras clases perro o gato que generen propiedades concretas de perro o gato pero posean los mismos métodos (como comer) aunque definidos de forma diferente.(Polimorfismo)
Los métodos pueden cambiar los atributos o propiedades de un objeto, así por ejemplo si tengo Un objeto cuadrado con un valor del lado y uso el método crecer puedo cambiar su valor del lado.
La encapsulación permite la reutilización del código, la clase Imprimir, si está bien diseñada se puede utilizar para imprimir cualquier cosa de tal modo que al programar ya nunca tendremos que programar de nuevo dicha operativa y bastará con escribir  NombreObjeto.Imprimir.
Resumiendo: Un programa orientado a objetos tiene una serie de Moldes (Clases) que contienen la información genérica de cada objeto, (Métodos y Propiedades) dentro de un mismo contenedor (Encapsulación), las clases permiten la herencia y por tanto definir los mismos métodos de diferente forma (Polimorfismo). Cada Ocurrencia concreta de una clase se llama objeto o Instancia y representa un objeto concreto del mundo real como un coche azul o una factura del cliente X por importe Y.