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...


Si los que hablan mal de mí supieran exactamente lo que yo pienso de ellos, hablarían peor.

Sacha Guitry

La intención no es lo que cuenta

Precisamente esto es lo que le ocurre al libro que os presento hoy. Es un libro con muy buena intención, muy completo, relativamente breve en su contenido y bien organizado. Pero lamentablemente han fallado en la traducción.

 

 

ASP.NET 3.5

Título: ASP.NET 3.5
Autor:George Shepherd
Editorial:Anaya Multimedia
I.S.B.N.: 978-84-415-2439-2
Fecha publicación: 2008.
Nº páginas: 688.
Nº capítulos: 24.
Precio: 58.60 euros.

  

Elogios:

Prácticamente ya lo he comentado antes. Los capítulos del libro están muy bien organizados y su contenido es muy completo. Comienza por lo conceptos básicos de toda aplicación web para continuar con los conceptos básicos de las aplicaciones web ASP.NET.

A continuación, dedica algunos capítulos a los controles web y a los Web Parts. Configuración de aplicaciones ASP.NET y seguridad en el inicio se sesión. Enlace a datos, personalización, estado de sesión y caché. Depuración y trazas, manejadores ashx, servicios web y WCF, AJAX, WPF y para finalizar publicación de sitios ASP.NET.

Como podéis ver, el libro contiene prácticamente todo lo que hay que saber para construir sitios consistentes con ASP.NET.

 

Críticas:

La nefasta traducción hace muy difícil la comprensión de los conceptos más duros. Por no hablar, del aburrimiento y desmotivación que supone leer frases que más se parecen al habla de "los indios" en los westerns americanos. Realmente han fallado con la versión española de esta publicación. 

Mencionar también, lo que ocurre siempre con este tipo de libros, al intentar abarcar tanto, hay capítulos que quedan muy cortos y tienes que buscar una segunda lectura para profundizar. Especialmente esto me ha disgustado en el capítulo dedicado a AJAX.

 

Resumiendo:

Hace algunos días, me escribía un lector de este blog pidiéndome consejo sobre un libro de C#. Su caso es el de una persona que está empezando en esto de la programación y se había comprando un libro de la misma editorial, concretamente "Visual C# 2008", y literalmente me comentaba que el libro era para tirarlo porque la tradución era horrible. Curiosamente, ambos libros son de la misma colección de Anaya Multimedia, "Paso a paso".

En fin, que si el idioma no es un problema para vosotros os recomiendo que lo compréis en ingles porque el libro tiene muy buena intención pero en este caso no fué suficiente.


Categories: Formación
Posted by Oscar.SS on jueves, 17 de junio de 2010 22:03
Permalink | Comentarios (0) | Post RSSRSS comment feed

Cuando lo bueno soporta el paso del tiempo

Esto es precisamente lo que ocurre con este libro. Que no solo ha soportado el paso del tiempo desde su publicación, también ha soportado la evolución de la tecnología.

A pesar de que estamos a punto de ver la versión ASP.NET 4.0, este libro sigue estando de completa actualidad en cuanto a fundamentos. La verdadera revolución de ASP.NET vino con la versión ASP.NET 2.0 y en este libro se tratan excelentemente todos los cambios de esta revolución.

Si no tienes muy claro como ha ido evolucionando ASP.NET con las distintas versiones del Framework puedes mirar el siguiente gráfico. Como puedes ver, hemos saltado de la versión ASP.NET 2.0 a la versión ASP.NET 4.0 y en el camino se han incluido unos cuantos controles y las extensiones para AJAX.

 

Programación Web con Visual Studio y ASP.NET 2.0

Título: Progamación Web con Visual Studio y ASP.NET 2.0
Autor: José Manuel Alarcón Aguín.
Editorial: Krasis Press
I.S.B.N.: 978-84-935489-0-2
Fecha publicación: 2007.
Nº páginas: 235.
Nº capítulos: 14.
Precio: 29.00 euros.

Elogios:

Los primeros 2 cápitulos son especialmente recomendados para aquellos que se acercan por primera vez al desarrollo web con ASP.NET. De manera muy simple y didáctica se muestran las tripas no solo de esta tecnología, también de los fundamentos de la plataforma.

Tengo que hacer una especial mención a los capítulos 5 y 6 que enseñan todo lo necesario del acceso a datos con ADO.NET y VWD 2005. La primera parte del capítulo 5 es lo mejor que he leido en tecnología. De manera clara y sencilla aprendes la arquitectura de microsoft para el acceso a datos. Creerme que disfrutas leyendo esta parte porque te hace fácil lo difícil.

En los capítulos del 7 al 12 el autor continua explicando de forma sencilla los fundamentos del desarollo web. Aquí podemos encontrar todos los conceptos imprescindibles en cuanto a master page, temas, skins, sesiones de usuario, cookies, caché, seguridad, web services, gestores ASHX y webparts.

Críticas:

La verdad, poco tengo que comentar en este apartado. Quizás los capítulos 3 y 4 han quedado un poco excuetos. Se habla muy rápidamente de los controles web.

Puede que lo siguiente solo sea una cuestión de gustos pero no me han gustado mucho como están explicados los 2 últimos capítulos dedicados al despliegue de aplicaciones con IIS.

Resumiendo:

Si estas buscando un libro para introducirte en el desarrollo web con ASP.NET o trabajas ya con esta tecnología pero no tienes muy claro los conceptos, este es tu libro y lo será durante mucho tiempo. En tan solo un par de semanas de lectura tendrás a tu alcanze todos los conceptos fundamentales necesarios para desarrollar aplicaciones y subirlas a la web.

Creerme si digo que en mi biblioteca tengo otros libros "más actuales" y más densos, pero solo este me ha dejado claro lo que puedo hacer con ASP.NET y como hacerlo.

Nota adicional: 

Por cierto, el autor acaba de sacar a la venta el primer libro editado en español sobre ASP.NET 4.0. Podeís comprar ambas publicaciones por tan solo 35 euros. Lo cierto es que esta novedad es el complemento perfecto del anterior.

ASP.NET 4.0

Con ambas lecturas estarás totalmente actualizado a la versión ASP.NET 4.0 dado que esta publicación contiene todo sobre ASP.NET AJAX y lo nuevo de enlazado y filtrado de datos. Quizás quede una pequeña sombra que comentar como es WCF Y WPF.

Tags:
Categories: Formación
Posted by Oscar.SS on sábado, 19 de septiembre de 2009 14:26
Permalink | Comentarios (0) | Post RSSRSS comment feed

Cursos online gratuitos de Microsoft

¡Cursos gratis de Microsoft!

Hace tiempo que tenía pendiente publicar esta entrada pero no lo hice pensado en que añadieran más cursos. Ahora resulta que no solo han añadido cursos, además han actualizado a las versiones del 2008 muchos de ellos. 

Para acceder a cada uno de los cursos solo ahí que registrarse con una cuenta Hotmail. Los cursos contienen literatura en formato texto y video. Algunos de estos cursos (naturalmente no los he visto todos) pueden tanto descargarse para disfrutar de ellos en local, como verlos online.

 

  1. Curso de Silverlight 2.0 (1º parte)
  2. Curso Desarrollo Web
  3. Curso de Introducción a .NET con Visual Basic 2005 y Visual Basic 2008
  4. Curso de Introducción a .NET con C#
  5. Curso de Visual Basic 2005 y Visual Studio 2008 para desarrolladores VB6
  6. Curso de desarrollo con dispositivos móviles
  7. Curso de desarrollo con Windows Presentation Foundation
  8. Curso de Windows Live APIs
  9. Curso de Silverlight 1.0
  10. Curso de Servicios Web
  11. Curso de diseño y autoría con Microsoft Expression Web
  12. Curso de SQL Server 2005
  13. Curso de desarrollo con Sharepoint 2007
  14. Desarrolla con MSDN: Introducción a Visual Studio 2005
  15. Desarrolla con MSDN: Dispensador de MSDN Video
  16. Aplicaciones Smart Client con .NET
  17. Desarrollo de aplicaciones con .NET y Servicios Web
  18. Desarrolla con MSDN: Servidor central de MSDN Video
  19. Curso de Silverlight 2.0 (2º parte)   ¡New!
 
¡Espero que disfrutéis de esta colección de cursos gratuitos! 
 

Tags:
Categories: Formación
Posted by Oscar.SS on miércoles, 01 de abril de 2009 18:00
Permalink | Comentarios (0) | Post RSSRSS comment feed

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

2. Encapsulación

d-Miembros de una clase (constructores (1))

 

Los constructores son el punto de inicio de una clase. Esto quiere decir, que cuando creamos un objeto a partir de una clase, el primer código que se ejecuta es el código contenido en el cuerpo del constructor. Por esta razón, los constructores normalmente se utilizan para inicializar los campos o variables de la clase.

Una clase obligadamente siempre tiene que tener un constructor. En le caso de que no implementemos ninguno, será el propio compilador de C#, el que asigne forzosamente uno a nuestra clase y será utilizado por el compilador para realizar operaciones internas de cara a la construción de objetos. A este constructor, se le conoce con el nombre de constructor predeterminado.

Ahora vamos a implementar un constuctor a nuestra clase  'Empleado' que utilizamos en el artículo anterior. ¡Veamos como!.

   class Empleado
   {
      
public string Nombre;

      public 
Empleado()
      {
         Nombre 
"Pablo";
      
}
   }

Para intentar hacerlo más didáctico he añadido a la clase un campo 'Nombre'. Este campo es inicializado desde el constructor como comentamos anteriormente. Ahora, cuando creamos un objeto a partir de esta clase, el constructor asignará en primer lugar 'Pablo' a la variable 'Nombre'. 

 

Como se puede apreciar, el constructor esta compuesto de 4 partes:

1- Modificador de accesibilidad: Pueden ser declarados como public, protected. internal, protected internal y private.

2- Identificador del constuctor: Siempre coincide con el nombre de la clase, en este caso 'Empleado'

3- Paréntesis de parámetros: Dentro de los paréntesis podemos asignar todos lo parámetros que necesitemos. Luego veremos un ejemplo.

4- Cuerpo del constructor: Aquí se ejecuta el código del constructor.

 

Sobrecarga de constructores. 

Una clase puede tener más de un constructor. En realidad, tantos como necesitemos.

Para implementar más de un constructor en una misma clase, es necesario que los constructores se diferencien o bien en el tipo de parámetros o en el número de ellos. Continuando con el ejemplo anterior:

   class Empleado
   {
      
public string Nombre;

      public 
Empleado()
      {
         Nombre 
"Pablo";
      
}

      
public Empleado(string Nom)
      {
         Nombre 
Nom;
      
}
   }

Ahora tenemos dos constructores en la clase 'Empleado'. Uno sin parámetros y otro con un parámetro de tipo System.String. Ambos constructores se utilizan para inicializar el campo Nombre.

Cada constructor implementado en una clase nos indica como podemos o debemos utilizar la clase para construir los objetos a partir de ella.

 

Construir objetos.

Para construir un objeto en nuestro código a partir de una clase utilizaremos el operador new de la siguiente forma.

 

      NombreClase  NombreObjeto  =  new  Constructor; 

 

        Empleado Empleado1 = new Empleado();

 

El operador new reserva espacio en la memoria para el objeto creado. En algunas fuentes llaman a esto instanciar un objeto. No debemos asustarnos por esta "palabreja". Instanciar un objeto es cargarlo en la memoria y para ello utilizamos el operador new.

Posiblemente, todo esto sea más facil de enterder si lo vemos paso a paso.

Primero creamos un objeto de tipo 'Empleado'.

 

        Empleado Empleado1;

 

Y una vez que tenemos el objeto creado, podemos cargarlo en la memoria por medio del operador new.

 

        Empleado1 = new Empleado();

 

En este caso, hemos utilizado de la clase 'Empleado' el constructor sin parámetros. Por lo tanto el objeto 'Empleado1' tendrá el campo 'Nombre' con el valor de Pablo. De hecho, cualquier objeto creado a partir de la clase con este constructor tendrá el mismo valor para 'Nombre'.

Pero también podiamos haber procedido así:

 

        Empleado Empleado2 = new Empleado("Jorge");

 

De esta forma, el objeto 'Empleado2' tendrá Jorge como valor del campo 'Nombre'.

 

Es lógico pensar que los constructores nos indican como podemos crear los objetos a partir de la clase. Utilizando un constructor u otro, los objetos se irán cargando en la memoria con unos valores u otros.


Posted by Oscar.SS on domingo, 15 de febrero de 2009 0:08
Permalink | Comentarios (0) | Post RSSRSS comment feed

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

2. Encapsulación

c- Clases en C# (declaración y accesibilidad)

 

En el artículo anterior vimos como la encapsulación estaba directamente relacionada con las clases y la relación de estas con los objetos. Ahora vamos a ver cómo hacer uso de las clases desde nuestro código C#.

Definir una clase en C# es muy sencillo. Solo tenemos que utilizar la palabra reservada "class" seguida del nombre que queramos darle a nuestra clase.

    class Empleados
    {
 
    }

De esta forma ya tenemos una clase (también llamado tipo definido por el usuario) con la que podemos empezar a trabajar. Antes de continuar hablando de los miembros que podemos implementar en una clase debemos hacer una pausa para hablar de los modificadores de accesibilidad.

 

Modificadores de accesibilidad en .NET

Los modificadores de accesibilidad permiten definir el nivel de acceso que tendrán los tipos y los miembros de estos tipos para otros usuarios. Entendiendo por otros usuarios a otros tipos que pertenezcan al mismo proyecto o incluso a un proyecto distinto. Veamos estos modificadores por orden de accesibilidad de mayor a menor.

- public: Un tipo o miembro declarado public puede ser usado desde cualquier código que pertenezca al mismo proyecto o a un proyecto diferente. Es el modificador menos restrictivo de todos.

- internal: Un tipo o miembro declarado internal puede ser usado desde cualquier código que pertenezca al mismo proyecto. Debemos verlo como un tipo o miembro interno de nuestro proyecto.

- protected: Un tipo o miembro declarado protected solo puede ser usado por el código de la misma clase o por código de una clase derivada.

- protected internal: Es una mezcla de los dos anteriores. Puede ser usado por código que pertenezca al mismo proyecto y por código de la misma clase o de una clase derivada.

- private: Un tipo o miembro declarado private solo puede ser usado por código de la misma clase o estructura. Es el más restrictivo de todos los modificadores de accesibilidad.

Todos los tipos (y los miembros de los tipos) tienen un determinado tipo de accesibilidad predefinido. Es decir, si no utilizamos ninguno de los anteriores, el compilador de C# asignará uno por defecto. Normalmente en este estudio hablaremos de las clases por ser el tipo definido por el usuario más flexible y potente, pero en la siguiente tabla podemos ver que modificadores de accesibilidad por defecto corresponden a cada tipo.

 

 

TIPOS

Declarado en ámbito de namespace

Accesibilidad predeterminada

Accesibilidad declarada permitida

Enum

Public

Internal

Public

Class

Internal

 

Internal

Public

Interface

Public

Internal

Public

Struct

Internal

Internal

                 Public               

 

 Nota: Los miembros de las clases tales como métodos y propiedades pueden ser declarados utilizando cualquiera de los modificadores de accesibilidad, teniendo como accesibilidad predeterminada private.

Según todo lo explicado, es fácil deducir que en la declaración de nuestra clase  Empleado, como no especificamos un modificador de accesibilidad, tendrá la accesibilidad Internal.

Bueno, ahora que tenemos claro (eso espero) todo este lío de los modificadores de accesibilidad, vamos a ver en profundidad los miembros que normalmente implementaremos en una clase.

La forma de implementar una clase dependerá en gran medida de las exigencias de nuestro código y de la finalidad de la clase misma. Pero normalmente una clase será un contenedor para los siguientes miembros:

- Constructores.

- Atributos.

- Propiedades.

- Campos.

- Métodos.

- Otros tipos.

- Destructor.

 

 En los artículos siguientes trataremos cada uno de estos miembros en profundidad. La comprensión de los conceptos relacionados con la implementación de los miembros de una clase es de suma importacia para enfocar los restantes pilares (herencia y polimorfismo) de la programación orientada a objetos.

 


Posted by Oscar.SS on lunes, 08 de diciembre de 2008 2:50
Permalink | Comentarios (0) | Post RSSRSS comment feed

Formación online por medio de las Webcasts

Esta noticia de tipo formativa tan solo contiene un enlace. No por ello encontraréis menos contenido que otras veces. En la página de destino encontraréis una lista de Webcasts (pasados y de proxima edición) publicados por la factoría MSDN MediaCenter.

 

 http://www.microsoft.com/spanish/msdn/latam/mediacenter/

 

Espero que disfrutéis de este recurso.


Tags:
Categories: Formación
Posted by Oscar.SS on jueves, 04 de diciembre de 2008 0:54
Permalink | Comentarios (0) | Post RSSRSS comment feed

Programación Orientada a Objetos en .NET con C# (3º parte)

2. Encapsulamiento

b- Clases y objetos


Las clases debemos verlas como moldes o plantillas para crear (instanciar) diferentes objetos a partir de ellas.


Un ejemplo. Supongamos que en una fábrica disponen de un molde para diseñar piezas de diferentes materiales. Este molde puede ser llenado con materia plástica, metal fundido o vidrio líquido, solo es un ejemplo…que ningún Ing.Industrial proteste ;-).


Al enfriarse el molde y su interior, tendremos 3 objetos con medidas idénticas pero cada uno tendrá sus características propias en función del material que se ha utilizado para su construcción.


De la misma forma una clase permite crear (instanciar) diferentes objetos que tendrán los mismos métodos y atributos pero cada uno guardará en la memoria unos datos diferentes.


Nota: He utilizado 2 veces el termino 'instanciar' en similitud con 'crear'. Instanciar un objeto es cargarlo en la memoria.


Otro ejemplo. Para administrar las necesidades de una empresa en relación con sus empleados podemos necesitar una clase llamada 'empleados'. Los atributos de esta clase pueden ser el nombre y la dirección de los empleados. De esta forma necesitaremos métodos para manipular estos atributos, es decir, un método para establecer el nombre y otro para obtenerlo. Y lo mismo para el dato de la dirección. Necesitaremos un método que nos permita cambiar la dirección de un empleado en el caso de que este cambie de domicilio.


Una vez tenemos nuestra clase definida, podemos cargar en memoria (instanciar) distintos objetos de esta clase. Dado que una imagen vale más que mil palabras, veamos el siguiente diagrama.

Diagrama de Clase y Objetos


Como podemos ver en la figura, la clase funciona como un contenedor (encapsulación) permitiendo agrupar tanto los datos (atributos) como los métodos.


También observamos que hemos creado dos objetos diferentes de la misma clase. Cada uno con sus datos particulares de nombre y dirección. Pero en los objetos no hemos incluido los métodos de la clase.


¿Porque?. Muy sencillo, porque cada objeto carga en memoria una copia de los datos propios (atributos) pero los métodos solo existen en la clase y son compartidos por todos los objetos creados a partir de la clase.


Esto quiere decir que cuando Pedro cambie de dirección, hará una llamada al método de la clase 'EstablecerDirección' y guardará los nuevos datos en la memoria del objeto Empleado1. Y exactamente lo mismo para el Empleado2, compartiendo de esta forma los métodos de la clase.


En la primera parte de este estudio dijimos que nuestra filosofía es que ¡todos son objetos!. ¿Pero qué pasa con las clases?, ¿son o no son objetos también?, ¿nos hemos contra decido?.


Las clases también son objetos (el molde de la fábrica es un objeto), de hecho en los lenguajes de .NET todo son objetos. Objetos que heredan de la clase base Object. Pero esto de la herencia lo veremos más adelante. De momento es suficiente con el concepto de que las clases son un tipo de objeto que nos permiten crear otros objetos con características similares.


En el siguiente artículo veremos cómo implementar clases e instanciar objetos por medio del lenguaje C#.


Posted by Oscar.SS on jueves, 30 de octubre de 2008 11:00
Permalink | Comentarios (2) | Post RSSRSS comment feed

Microsoft ALM WorkShops

Entre los meses de octubre, noviembre y diciembre se realizarán una serie de 'workshop' sobre tecnologías microsoft por el módico precio de 30 euros por persona.

La mala noticia es que solo interesará a los que vivan cerca de Madrid y Barcelona Frown.

De todas formas aquí os dejo el enlace donde podeís obtener toda la información de calendarios, registro, etc.

http://www.microsoft.com/spanish/msdn/spain/eventos/alm/workshops.mspx


Tags:
Categories: Formación
Posted by Oscar.SS on miércoles, 22 de octubre de 2008 8:37
Permalink | Comentarios (0) | Post RSSRSS comment feed

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

2. Encapsulamiento

a- Definición


Cuando hablamos de encapsulación en un lenguaje orientado a objetos (y algunos que no lo son totalmente) hablamos necesaria y evidentemente de las clases.
Como mencionamos anteriormente los objetos tienen dos características que los definen.


- Los atributos: que es donde se almacenan los datos del objeto.


- Los métodos: que nos permiten manipular y acceder a estos datos.


Por lo tanto, la encapsulación nos facilita el poder agrupar en una sola entidad de código, tanto los datos (atributos) como la forma de manipularlos (métodos).
Esta funcionalidad la conseguimos con las clases, en las que "introduciremos" los atributos y métodos de los objetos.


Una de las ventajas de la encapsulación es la facilidad de cambiar y reutilizar el código. Si en algún momento de la vida de un proyecto, necesita cambiar un atributo de la clase, solo tendrá que hacerlo en la definición de la clase y el cambio de propagará por todos los objetos creados a partir de esta clase.


En el siguiente apartado hablaremos de la relación de las clases y los objetos.


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

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