Windows Day

20. February 2009 08:20 by Oscar.SS in Información  //  Tags:   //   Comments (0)

Windows Day es un evento online interactivo de Microsoft que te permite, desde la comodidad de tú hogar, disfrutar de conferencias y demostraciones sobre tecnología, tanto si te dedicas a la infraestructura como al desarrollo del software.

 

 

Podéis hacer click en la imagen para registraros y disfrutar de toda la información.

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

15. February 2009 00:08 by Oscar.SS in Desarrollo .NET, Formación  //  Tags: ,   //   Comments (2)

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.

Escribir datos XML

1. February 2009 21:28 by Oscar.SS in XML  //  Tags:   //   Comments (6)

De alguna forma, este artículo es una continuación de "Lectura de datos XML" que vimos hace algunos días. Por este motivo recomiendo leer el artículo anterior para que sea más fácil familiarizarse con los conceptos que ahora veremos.

Para escribir datos en un archivo XML utilizaremos la clase XmlTextWriter que hereda de la clase XmlWriter. En cuanto a XmlWrite, veremos en otro artículo como utilizarla. Realmente su uso se parece bastante a lo que veremos aquí con XmlTextWriter  pero con algunos matices.

Los métodos que utilizaremos de la clase XmlTextWriter son los siguientes:

  • XmlTextWriter.WriteStartDocument(): Este método escribe la declaración XML con la versión 1.0.
  • XmlTextWriter.WriteStartElement(): Escribe el comienzo de un nodo.
  • XmlTextWriter.WriteElementString(): Se utiliza para escribir el contenido de cadena de un elemento.
  • XmlTextWriter.Flush(): Escribe todo el contenido almacenado en el bufer en el archivo XML.

Ahora veremos una función que escribe el mismo esquema de datos XML que vimos en "Lectura de datos XML".

 

public void EscribirXml(string id, string nom, string ape, string nss, string fijo, string mvl)
      {
         
//Creamos el escritor.
         
using (XmlTextWriter Writer = new XmlTextWriter(Ruta, Encoding.Unicode))
         {
            
//Declaración inicial del Xml.
            
Writer.WriteStartDocument();

            
//Configuración.
            
Writer.Formatting Formatting.Indented;
            
Writer.Indentation 5;

            
//Escribimos el nodo principal.
            
Writer.WriteStartElement("empleados");

            
//Escribimos un nodo empleado.
            
Writer.WriteStartElement("empleado");

            
//Escribimos cada uno de los elementos del nodo empleado.
            
Writer.WriteElementString("idEmpleado", id);
            
Writer.WriteElementString("nombre", nom);
            
Writer.WriteElementString("apellidos", ape);
            
Writer.WriteElementString("numeroSS", nss);
            
//Escribimos el subnodo teléfono.
            
Writer.WriteStartElement("telefonos");
            
Writer.WriteElementString("fijo", fijo);
            
Writer.WriteElementString("movil", mvl);
            
            
//Cerramos el nodo y el documento.
            
Writer.WriteEndElement();
            
Writer.WriteEndDocument();
            
Writer.Flush();
         
}
      }
Como se puede apreciar no tiene ninguna dificultad. Otro día comentaremos como incluir nuevos registros al final de un archivo XML.

Recent Comments

Comment RSS

Month List