Avatar de usuario por pello in June 28, 2006, 8:55 pm
En C# también se pueden crear interfaces como en Java, aunque el manejo de atributos se hace a través de las properties y es algo engorroso. Veamos un ejemplo básico: Definimos el interfaz bebida y una clase que lo implementa, el café.
/**
* Interfaces.cs
* Programa que muestra el uso de interfaces. Al igual que en Java los interfaces son 
* como clases abstractas pero sin implementación alguna. Su objetivo es servir como 
* plantilla a las clases que lo implementan (sus... 
Leer más...  | 0 comments |  PELMAlink |  1495 reads
Avatar de usuario por pello in June 27, 2006, 7:19 pm
Vamos a ver que se puede hacer con la entrada y salida standar de consola. Hay opciones muy interesantes con los formatos numéricos, el manejo de fechas y las conversiones. Vamos que se puede hacer con el WriteLine
/**
* Formato.cs
* Esta clase muestra los distintos formatos que se pueden aplicar
* a la hora de mostrar datos por pantalla o por un flujo de salida.
*/

using System;

// Clase Formato
// contiene métodos en los que se muestran técnicas de formato
public class Formato
{
	//... 
Leer más...  | 0 comments |  PELMAlink |  1833 reads
Avatar de usuario por pello in June 26, 2006, 12:54 pm
En un solo ejemplo de código vamos a ver como crear herencia de una clase a otra, en este caso de la clase Dispositivo a la clase Movil. Aquí entrará en juego el polimorfismo, es decir, un mismo método en la clase hija y clase padre con distinto efecto. Merece la pena comentar que disponemos de clases abstractas y también de clases que NO se puede heredar (sealed). Vamos a ver:
/**
* Dispositivo.cs
* Superclase o clase padre para definir los dispositivos,
* de esta heredarán... 
Leer más...  | 0 comments |  PELMAlink |  1119 reads
Avatar de usuario por pello in June 25, 2006, 12:26 am
C# también dispone de control de excepciones, y al igual que C++ o Java podemos crear y lanzar nuestras propias excepciones. Primero veamos como se capturan:
/**
* Excepciones.cs
* Clase que muestra el uso de excepciones
* no muy distinta de otros lenguajes
*/


using System;

public class Excepcion 
{

	// Método principal
	public static void Main()
	{
		int valor;
		string entrada;
		int[] vector = new int[4]{4,7,1,0};
		
		System.Console.WriteLine("Introduce un número");
		
		//... 
Leer más...  | 0 comments |  PELMAlink |  1245 reads
Avatar de usuario por pello in June 24, 2006, 7:25 pm
Vamos a ver algunas opciones interesantes que tienen los métodos en C#. Para empezar, no podía faltar la sobrecarga:
/**
* Sobrecarga.cs
* Clase que muestra como aplicar sobrecarga en métodos
* de una clase. La sobrecarga consiste en crear varios métodos con el mismo
* nombre pero con distintos parámetros.
*/

using System;

// Vamos a declarar esto dentro del un espacio de nombres
namespace Calculadoras
{
	
 public class Calculadora 
 {

	string nombre;
	
	// Método... 
Leer más...  | 0 comments |  PELMAlink |  1226 reads
Avatar de usuario por pello in June 23, 2006, 1:52 pm
Vamos a ver algunas estructuras básicas de c#. Hay alguna cosa curiosa en la forma de definir los arrays y las propiedades de las estructuras. Veamos la struct:
/**
* Estructuras.cs
*
*/

using System;

/**
* Las estructuras de C# se comportan practicamente como clases, 
* salvo que no es imprescindible instanciarlas y que se guardan
* en memoria de otra forma. Veamo un ejemplo.
*/
public struct Casa 
{
	// Para que sean accesibles, hay que declararlos public
	// y no se pueden inicializar.
	public... 
Leer más...  | 2 comments |  PELMAlink |  1538 reads
Avatar de usuario por pello in June 21, 2006, 11:09 am
Este día a merecido la pena y a los que no conozcan este lenguaje les sugiero echar un ojo al código ya que en los tipos de métodos ya se ve alguna peculiaridad de c# (respecto a java o c). Veamos algunos ejemplos de metodo a través de la clase Pajaro:
using System;

// Definimos la clase pajaro, esa cosa con pluma
public class Pajaro {

	// ATENCION: SI NO SE ESPECIFICA NADA,
	// los atributos y metodos NO SON accesibles
	public string nombre;
	public int peso;
	// Variable... 
Leer más...  | 2 comments |  PELMAlink |  1161 reads
Avatar de usuario por pello in June 20, 2006, 12:17 pm
Veamos como se definen las clases. La cosa no cambia salvo alguna cosa curiosa; si no se especifica otra cosa, los atributos y métodos NO son accesibles, vamos que NO son public por defecto. Veamos la clase Punto, y luego una clase que le crea un instancia y lo usa.

using System;


// Definimos la clase punto,
// que se refiere a un punto en una coordenadas
public class Punto {

	// ATENCION: SI NO SE ESPECIFICA NADA,
	// los atributos y metodos NO SON accesibles
	public int x;
	public int y;
	
	//... 
Leer más...  | 1 comments |  PELMAlink |  1143 reads
Avatar de usuario por pello in June 19, 2006, 6:37 pm
Veamos las herramientas básicas para control de flujo, empezando por las condicionales.
/** 
Condicionales.cs
 Una muestra de los Condicionales de c#
 Para compilar con MS: csc Condicionales.cs , ejecucion: Condicionales.exe
 Para compilar con Mono: mcs Condicionales.cs , ejecucion: mono Condicionales.exe
*/

// Importamos la libreria de utilidades básicas de sistema
using System;

// Definicion de la clase Condicionales, que muestra tipos de Condicionales.
public class Condicionales {

	//... 
Leer más...  | 0 comments |  PELMAlink |  1140 reads
Avatar de usuario por pello in June 18, 2006, 11:09 pm
Bueno, los operadores, nada nuevo bajo el sol.
Veamos los aritméticos:
/** 
Operadores.cs
 Una muestra de los operadores de c#
 Para compilar con MS: csc Operadores.cs , ejecucion: Operadores.exe
 Para compilar con Mono: mcs Operadores.cs , ejecucion: mono Operadores.exe
*/

// Importamos la libreria de utilidades básicas de sistema
using System;

// Definicion de la clase Operadores, que muestra tipos de Operadores.
public class Operadores {

	// Y aquí la función principal... 
Leer más...  | 0 comments |  PELMAlink |  1126 reads