sábado, 2 de diciembre de 2017

Programación orientada a objetos: conceptos teóricos

Clases


Una clase es un molde que permite definir las características que tomara cada objeto de la clase. Consideremos la clase “coche” como molde de la que luego cada objeto adquiere las características de un coche concreto, por ejemplo micoche. Un coche tiene una serie de atributos que lo convierten en un coche. Cuatro ruedas, un motor, volante, etcétera. También tiene una serie de atributos como el color, el modelo, la marca, etc. Y luego unas funciones como acelerar, frenar, girar. 

En programación orientada a objetos tendríamos sólo la clase coche, y luego cada instancia de la clase (cada objeto) es un coche concreto. Un coche azul modelo A es una instancia concreta de la clase coche.

Una clase tiene variables y métodos. Las variables son las que definen los atributos del objeto en concreto, por ejemplo la variable color es la que define si luego una instancia concreta de coche será de color azul verde o rojo. Y los métodos son los que definen las funciones de la clase. En este caso tendríamos los métodos frenar, acelerar y girar.
Así pues la clase coche tendría las variables: color, cilindrada, marca y modelo. Y los métodos Frenear, acelerar y girar. La clase serían los planos y el código cliente la fábrica de coches de la que van saliendo las instancias  (coches).

Si lo implementamos como una clase real de software convendría que el código de cliente. El que crea las instancias no tuviera acceso directo a las variables de la clase, el color, la marca etc. Para ello se crean las propiedades que son similares a los métodos pero permiten leer y escribir las variables de la clase de una forma controlada por la propia clase y no por el código cliente. De este modo el código de la clase queda fuera de la vista del código cliente (encapsulación) esto permite que a medida que se crean las clases, estas se pueden almacenar en una librería y el programador se centra sólo en el código cliente que utiliza la clase. Una vez probada la clase no hay que volver a tocarla salvo haya que hacer alguna modificación de su funcionalidad. Esto mantiene controlados los cambios, sabemos que si tocamos las facturas no dejarán de funcionar otras partes del programa y podremos centrarnos sólo en probar de nuevo las facturas.




Programación orientada a objetos: conceptos teóricos

sábado, 25 de noviembre de 2017

Instalar Windows Internet Information Services (IIS)

Internet Information Services o IIS es un servidor web  para el sistema operativo  Windows.

Este servicio convierte la máquina donde se instala en un servidor web para Internet o para una intranet. Los ordenadores que tienen este servicio instalado pueden publicar páginas web tanto local como remotamente.
Para instalar IIS hay que abrir panel de control .

Instalar  IIS

sábado, 18 de noviembre de 2017

Curso de C#: eventos

Para disparar un evento en C# se utilizan los delegados


Un evento es la forma que tiene una clase para notificar a los clientes de la clase que ha ocurrido  algo digno de capturar en un método en el que se inserta código para tratarlo. Su utilización más habitual se produce en las interfaces gráficas; es de todos conocido el evento click que se ejecuta al pulsar un botón de una interfaz gráfica.

Los eventos proporcionan un medio adecuado para que los objetos puedan reaccionar a cambios de estado que pueden resultar útiles para los clientes del objeto.

Los eventos se declaran mediante delegados.


Eventos en C#

sábado, 11 de noviembre de 2017

Curso de C#: delegados

Conceptos teóricos


Un delegado es una referencia a una función, también se conoce como un puntero a una función. Un delegado permite acceder a una función de forma casi anónima, ya que simplemente tiene la dirección de memoria de dicha función. Y sabiendo la dirección de la memoria, podemos acceder a ella.
El equivalente de los delegados en el lenguaje C/C++ sería un puntero a función (callback)

Un delegado, es un tipo que define una firma o prototipo de método y se puede asociar a cualquier método con una firma compatible. Puede invocar (o llamar) al método a través del delegado. Un delegado permite enviar un método como parámetro a otro método.

Curso de C#. Delegados

sábado, 4 de noviembre de 2017

Curso de C#: interfaces

Interfaces

En teoría de orientación a objetos, la interfaz de una clase es todo lo que podemos hacer con ella. A efectos prácticos: todos los métodos, propiedades de la clase conforman su interfaz.

Nota.
(Las variables públicas también formarían parte de la interfaz, pero no es recomendable declarar variables públicas. Siempre acceder a ellas a través de propiedades).

No tendría sentido establecer una relación de herencia entre conjuntos completamente distintos, por más que muchos de sus miembros fueran a ser comunes. Por ejemplo, no estaría bien heredar una clase tarjeta de crédito y otra clase cuenta corriente de una clase banco. Por más que en todos ellos puedan hacerse ingresos o reintegros, está claro que ni las tarjetas de crédito ni las cuentas corrientes son bancos. En resumen, no hay que basarse únicamente en la funcionalidad para establecer una relación de herencia entre clases.
Es en este último caso donde juegan un papel importante las interfaces. Una interfaz es la definición de un conjunto de miembros que serán comunes entre clases que serán (o no) completamente distintas. La interfaz conoce cómo será la funcionalidad de cualquier clase que la implemente pero, no podrá conocer los detalles de esa implementación en cada una de esas clases, de modo que una interfaz no puede implementar nada de código, sino que, sólo puede describir un conjunto de miembros.

Interfaces en C#

sábado, 28 de octubre de 2017

Cómo cambiar el cielo de una fotografía con Photoshop

Muchas veces hacemos una fotografía magnífica pero el cielo nos la estropea porque nos sale quemado o bastante soso o ambas cosas. Otras veces nos sale un cielo precioso sin nada importante en el motivo. Hoy vamos a utilizar esas fotos para mejorar nuestras fotos, colocando el cielo que nos salió bien en la foto con el cielo quemado o soso.
Para ello lo primero que hay que hacer es abrir ambas fotos, la que tiene el cielo quemado o soso y la del cielo bonito.

Cómo cambiar el cielo de una fotografía con Photoshop
Puedes descargar esta foto aquí