El Blog de Óscar Sotorrío Sánchez - MCP Application Development Foundation - C#

Todo lo que vaya aprendiendo de .NET, C#, ASP.NET, SQL Server, etc, lo compartiré con vosotros.

El autor:

Óscar Sotorrío Sánchez
Contacto Send mail

Encuéntralo

Álguien dijo...


Los sueños son las únicas mentiras que pueden dejar de serlo.

Anónimo

Programación Orientada a Objetos en .NET con C# (1ª parte)

1. Introducción


¿Qué es un objeto?

Antesde nada deberíamos comenzar por saber que es un objeto para un lenguajede programación y que es un objeto para los lenguajes de la plataforma.NET.

En la vida real es muy fácil determinarque es un objeto. Por ejemplo cojamos un objeto cualquiera, unmartillo. Ahora pasemos a describir o explicar que es un martillo paraalguien que no sabe lo que es.

“Un martilloes una herramienta con un mango alargado (comúnmente de madera) con unacabeza pesada (comúnmente de metal) en su extremo, que se utiliza paradeformar o desplazar otros objetos”.

Seguroque álguien se está preguntando…¿Qué tiene que ver esto con laprogramación?. Pues bien, la respuesta es todo. En seguida lo vemos.

Prestemosatención a la definición que hemos dado de este objeto. Primeramentehemos mencionado a que “familia” pertenece este objeto.

“Un martillo es una herramienta…”

Seguido hemos descrito dos características o atributos del objeto.

“…con un mango alargado (comúnmente de madera) con una cabeza pesada (comúnmente de metal) en su extremo …”

A continuación hemos comentado cual es su función.

“…que se utiliza para deformar o desplazar otros objetos.”

Precisamenteesto es un objeto para un lenguaje de programación. Un fragmento decódigo (o bloque) fácilmente identificable que dispone de atributos ymétodos (o funciones).

¿Quieres másejemplos?. Supongamos que estas diseñando una aplicación de tipoadministrativo que actualiza los datos de una empresa. Esta empresaseguramente tiene empleados y clientes. Ambos, empleados y clientes,pueden ser objetos en nuestro código y en ambos podemos definir atributos (nombre, apellidos, dirección, teléfono, etc) y métodos(entrar y salir del trabajo, hacer pedidos, darse de alta como cliente,etc).

¿Otro ejemplo?. Hablemos ahora de unaaplicación bancaria. Una cuenta de ahorros puede ser un objeto ennuestro código con atributos (nombre de cliente, número de cuenta,saldo, tipo de interés, etc) y con métodos (ingreso, reintegro, mostrarsaldo actual, etc)

En el ejemplo del martillovimos también que pertenecía a una familia de objetos, la familia delas herramientas. Este concepto tiene que ver con la herencia, locomentaremos más adelante.

Por el momento es suficiente con tener la idea básica de que los objetos disponen de atributos y métodos.

 

¿Qué es un lenguaje orientado a objetos?

Ahoraque ya tenemos claro (más o menos) que es un objeto para un lenguaje deprogramación, parece lógico responder a esta pregunta.

Seconsidera que un lenguaje está totalmente orientado a objetos cuando escapaz de soportar las siguientes cualidades; encapsulación, herencia, ypolimorfismo.

Daremos brevemente una pequeñaintroducción de estos conceptos para que el lector comience afamiliarizarse con ellos. En los siguiente artículos profundizaremostodo lo posible en ellos por tratarse del pilar de la programaciónorientada a objetos.

- Encapsulamiento.Esta cualidad permite agrupar en un mismo bloque de código losatributos (que contendrán los datos) y los métodos (que manipularánestos datos).

- Herencia.Es la cualidad que permite que un objeto derive de otro implementandotoda su funcionabilidad, es decir, adquiriendo todas los atributos ymétodos del objeto base.

- Polimorfismo.Posiblemente esta cualidad es la más difícil de entender y de explicar.Por el momento basta con decir que permite que varios objetos distintostengan la misma funcionabilidad (atributos y métodos).

 

¿Qué es esto de la abstracción de datos?

Supongoque hasta ahora todo lo dicho es un poco confuso. Sobre todo si es laprimera vez que el lector se enfrenta con estos conceptos que sonbastante abstractos.

No hay que desesperar,al principio cuesta bastante pero poco a poco, el lector seacostumbrará a esta manera de pensar que no deja de ser un ejercicio deabstracción.

¿Por qué abstracción?. Es unaforma de coger los datos reales de la vida cotidiana e implementarlosen líneas de código. Por ejemplo, un coche es un objeto tangible en lavida real, se puede tocar, conducir, etc. Pero en el mundo de loslenguajes de programación es algo intangible.

Enalgunos libros, se refieren a la “abstracción de datos” como a laposibilidad de acceder a los datos de un objeto sin importarnos comoestén internamente implementados en el objeto.

Personalmenteopino que este tipo de definiciones no ayudan en nada a la comprensiónde la programación orientada a objetos. Por lo menos a mi no meayudaron. Por lo tanto, en la medida de lo posible intentaremosevitarlas en este estudio.

Seamos prácticos,de momento es suficiente con que el lector, sobre todo los que vienende lenguajes procedurales (o secuenciales), cambien el chip y comiencena pensar que la vida real puede ser representada por objetos deprogramación. Nuestro axioma es que…¡¡todo son objetos!!

En el siguiente artículo trataremos la encapsulación a fondo.


Posted by Oscar.SS on miércoles, 24 de septiembre de 2008 17:24
Permalink | Comentarios (0) | Post RSSRSS comment feed

¿Un título?...imprescindible.

La primera vez que vi este libro en la estantería de una librería le eche un vistazo rápido y lo volví a dejar. Enseguida me di cuenta que era un libro de lenguaje puro, solo C# y nada más. Nada del entorno de desarrollo Visual Studio. Solo aplicaciones de consola.

Menos mal que algunas semanas después volví a la librería y lo estudie con más detenimiento. Este libro es algo más que un libro dedicado C#, es un curso de programación muy completo utilizando muchas de las librerías de .NET Framework.

 

Título: Microsoft C#. Curso de Programación.
Autor: CEBALLOS, F.J.
Editorial: Ra-Ma.
I.S.B.N.: 84-7897-737.6
Fecha publicación: Octubre 2006.
Nº páginas: 886.
Nº capítulos: 19.
Precio: 46.90 euros.



Elogios:

Es un libro muy completo. Los primeros 9 capítulos están dedicados a lo básico. Desde ¿qué es un programa?, hasta métodos y colecciones. Tiene muchos ejemplos básicos y gran cantidad de textos explicativos.

Los capítulos del 10 al 15 tienen por misión dejar claro que es la abstracción en C# o la POO. Aquí los ejemplos de código se complican un poco más. En todos los capítulos del libro hay ejercicios resueltos y ejercicios propuestos.

En los últimos 4 capítulos es donde se hace más hincapié en eso de “curso de programación”. Aquí el autor ofrece algo que no suele encontrarse en todos los libros: listas lineales, listas circulares, arboles binarios, algoritmos de programación (búsquedas, ordenación, etc) y programación con hilos.

El libro contiene 4 apéndices. A destacar el que está dedicado a las novedades de C# 3.0 cerrando de esta forma la edición del libro totalmente actualizada a la última versión del lenguaje.

 

Críticas:

En algunas ocasiones da la sensación, durante la lectura, que el autor va muy deprisa. Es como si diera cosas por sentadas. Aunque es un libro que comienza con lo básico también es verdad que quizás no sea el más recomendado para empezar de cero absoluto.

Quizás no me guste mucho el orden de los capítulos dedicados a la POO. Pero esto tan solo es cuestión de gustos.

 

Resumiendo:

Si tienes pocos conocimientos de programación con C# y buscas un libro para profundizar, este es tu libro. También puede servir se consulta a más de uno (yo mismo), se exponen la mayoría de las clases e interfaz de uso común (algunas no tan comunes) de la librería .NET.

El libro viene con CD en el que se incluyen todas las aplicaciones realizadas en el libro y lo necesario para que “corrar” en tu máquina (.NET Framework SDK).


Tags: ,
Categories: Formación
Posted by Oscar.SS on viernes, 28 de marzo de 2008 3:47
Permalink | Comentarios (0) | Post RSSRSS comment feed

No he programado nunca. ¿Por donde empiezo?.

Si no has programado nunca una linea de código, a la pregunta del encabezado, una buena respuesta es el libro que aquí presento.

 

Título: "El Libro de" Visual C# 2005.
Autor: Foxall, James D.
Editorial: Anaya Multimedia.
I.S.B.N.: 978-84-415-2121-6
Fecha publicación: Enero 2007.
Nº páginas: 560.
Nº capítulos: 24.
Precio: 30.20 euros.


Elogios:
Los primeros 9 capítulos no tienen desperdicio. Están dedicados a explicar de manera fácil y útil el IDE de
Visual Studio 2005.Creo que es por donde deberían empezar todos los libros de estepropósito. Si entro a trabajar en un taller, de nada me sirve que me digan como se utiliza una fresadora, sin dejarme entrar en el taller y ver donde están y como son las herramientas.

Los capítulos10 a 18 contienen las bases de la programación. Enseñan lo mínimo perode forma clara y eficiente. Digo lo mínimo porque por ejemplo solo hayun capítulo dedicado a la POO. Cuando este concepto, es en sí, practicamente una materia individual. Hay libros completos dedicados a la POO.

Críticas:
Los capítulos 19 a 22 supuestamente hacen referencia al trabajo con datos (ficheros, bases de datos, etc). Estos capítulos estánmuy comprimidos y por lo tanto son difíciles de entender y no son muyútiles. El autor a intentado abarcar mucho en poco espacio, apenas 130páginas.

Lo último pero no menos importante, no hay ningún contenido de aplicaciones Web.

Resumiendo:
En términos generales es un libro que enseña lo mínimo, en poco tiempo, para comenzar a realizar aplicaciones de Windows. Muy poco de aplicaciones con bases de datos y absolutamente nada de aplicaciones Web.

Tags: ,
Categories: Formación
Posted by Oscar.SS on martes, 15 de enero de 2008 11:26
Permalink | Comentarios (2) | Post RSSRSS comment feed