Posts Tagged ‘ejemplo’

Programación orientada a objetos - clase I

¿Que es una clase?. Una clase es una construcción usada como plano o patrón para crear los objetos de esa clase. Este plano describe el estado y comportamiento que comparten los objetos de esa clase. Un objeto es contenedor con el que podremos utilizar las propiedades y los métodos públicos de una clase y se pueden crear(instanciar) tantos objetos como necesitemos y todos tendrán los mismos métodos y propiedades.

Una clase puede tener propiedades (atributos) y métodos(funciones) que hacen interactuar a la clase consigo misma o con el mundo exterior

La clase es la base de la Programación Orientada a Objetos, por loque conviene entenderlo bien. Vamos a ver un ejemplo:

Tenemos una clase llamada Coche que representa coches en nuestro programa y tiene, por ejemplo, los atributos color y posición, y un método mover() que haría que que el coche se moviera, (por ejemplo si nuestro programa fuera un videojuego).
La sintaxis de la definición de clases es bastante parecida en todos los lenguajes, así que vamos a ver como se hace en C#.

[private/protected/public/internal] class NameOfClass [: BaseClass] [, Interface1, Interface2…]
{
  // Attributes, Properties, Methods,…
}

Las clases en C# pueden tener una única clase base, pero pueden implementar tantos interfaces como quieran esto es Herencia que es una característica de la POO que veremos más tarde.

Microsoft recomienta que los nombres de las clases empiecen con mayúscula, pero esto es opcional, aunque mucha gente lo usa así en el mundo laboral.

C-sharp, logo, logotipo bucles en c# while, for, foreach

Los bucles permiten ejecutar un bloque de código varias veces seguidas. Se utilizan para muchas cosas como por ejemplo recorrer arrays y listas de elementos.

Vamos a ver 3, que son los más utilizados y con estos 3 bucles podremos hacer casi todo lo que queramos con relación a los bucles.

  • While, el más generico y siempre una buena opción.
  • For, muy útil cuando sabes exactamente cuántas veces quieres iterar un bucle.
  • Foreach, muy útil para iterar sobre estructuras de datos, aunque presenta ciertas restricciones.
- Un bucle while ejecutará un trozo de código mientras una condición sea true. La condición es comprobada antes de ejecutar el código.
Hay otro tipo de bucle while que comprueba la condición después de ejecutar el código: do/while.
Los bucles while son los más simples y fáciles de entender, pero además, también son los más versátiles.

Cualquier otro tipo de bucle puede ser reescrito como un bucle while.

Sintaxis:
while (condition)
{
// code
}

Ejemplo:

int numero = 0;
while (numero != 7) //mientras la variable numero sea distinta de 7 hara lo que hay entre paréntesis
{
numero++; //sumamos uno a la variable
}
El bucle For es como el bucle while pero teniendo una inicialización y una modificación de la condición formando parte de la sintanxis
Es particularmente útil cuando sabes cuántas veces quieres ejecutar un bloque de código
Y esto es algo muy habitual, especialmente trabajando con datos.

Las variables declaradas en la inicialización tienen como scope el código dentro del bucle y la condición y modificación, no pueden ser accedidas fuera del bucle.

Sintaxis:
for (initialization; condition; modification)
{
// code
}

Ejemplo:

for(int i=0; i<10; ++i)
El bucle foreach sólo se puede usar con colecciones de objetos.
Itera sobre todos los objetos en orden, desde el elemento 0 al último.
Se pueden definir clases que se pueden iterar con el bucle foreach implementando el interfaz IEnumerable.
No se puede cambiar el tamaño de una colección desde dentro del bucle foreach.
No se puede usar foreach para inicializar o modificar el valor de los objetos en la colección.

Usar foreach puede ayudar al compilador a optimizar e incluso a generar código multithread.

Sintaxis:
foreach (Type nameOfObj in arrayToIterate)
{
// code where we can use nameOfObj
}

Ejemplo:

// Declaro el array de 10 elementos de tipo int y le doy los valores de 1 a 10
int[] myArray = new int[10] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
foreach (int number in myArray)
{  //por cada numero en el array escribo el valor
Console.WriteLine(“myArray has {0} inside”, number);
}

Si en cualquier punto dentro de un bucle se ejecuta un return, se sale de la función.
Hay 2 keywords que se pueden usar dentro de los bucles para modificar su comportamiento por defecto: continue y break.
Continue moverá el puntero de ejecución a la condición del bucle y continuará con la siguiente iteración (si la condición no se cumple), saltándose el resto de código que quede dentro del bucle a ejecutar en esa iteración.
Break saldrá del bucle independientemente de la condición, colocándose en la primera instrucción justo después del bucle