12.170 cursos gratis
8.755.078 alumnos
Facebook Twitter YouTube
Busca cursos gratis:

Capýtulo 3:

 Las clases. Programación

1.2. Las Clases.

¿Qué es un objeto? Por ejemplo, si quisiéramos hacer un flan, tendríamos que el molde es la clase y los flanes son los objetos. Si queremos hacer un flan de vainilla tenemos unos ingredientes: leche, azúcar, vainilla, etc…, pero no todos los flanes tendrán la misma proporción de ingredientes. Además, no tienen porque todos los flanes ser de vainilla, también pueden ser de huevo. Una clase equivale a generalizar un tipo específico de objetos, pero cada objeto que construyamos de esa clase contendrá sus propios datos.

El objeto en la clase es creado en el momento en que se invoca mediante el operador new:

Flan vainilla = new Flan();

Una aplicación de C# típica se compone de clases definidas por el programador, junto con clases de .NET Framework.

Una clase es en sí misma un tipo personalizado por el programador mediante la agrupación de variables de otros tipos, tanto de tipos básicos como de tipos desarrollados por otros programadores.

En la clase se define el tipo y el comportamiento del tipo. Si la clase no se declara como estática se instancia con una variable, usando la palabra clave new, tal y como hemos visto antes. Esa variable declarada para ese tipo es administrada por el CLR hasta que termina su ámbito de ejecución, en cuyo caso, el CLR la marca para recolección y el Garbage Collector la limpiara de la memoria. Por el contrario, si es estática, sólo existe una copia de la clase en memoria y no permite instanciarla sobre una variable. Si queremos acceder a ella es necesario hacerlo a través de la propia clase y no por una copia de una variable instanciada.

A diferencia de las estructuras, las clases permiten herencia, que es un pilar básico en la programación orientada a objetos.

1.2.1. ¿Cómo se define una clase en C#?

Para la definición de una clase en C# se utiliza la palabra class seguido del nombre de la clase y dentro de las llaves el código. Ejemplo:

class Flan

{

 Implementación de los métodos, propiedades y atributos de la clase.

}

Cuando se define una clase en C# existe un concepto denominado nivel de acceso que indica desde donde se puede acceder o utilizar la clase. Por ejemplo, una clase declarada como Public, puede ser accedida desde cualquier proyecto, por el contrario, si se declara Private, sólo es accesible por el propio contenedor de la clase.

El nivel de accesibilidad predeterminada para una clase es Private. Los niveles de acceso van delante de la palabra class. Ejemplo:

public class Flan

Tabla de Niveles de acceso para la clase.

publicAcceso no restringido.
protectedAcceso limitado a la clase contenedora o a los tipos derivados de esta clase.
internalAcceso limitado al proyecto actual.
protected internalAcceso limitado al proyecto actual o a los tipos derivados de la clase contenedora.
privateAcceso limitado al tipo contenedor.

Cualquier método, propiedad o atributos deben de estar siempre contenidos dentro de las llaves de una clase. Aunque muchas veces se habla de que un objeto es una class, en realidad, una clase define un tipo de objeto, pero no es propiamente un objeto. Cuando creamos una estancia de la clase con la palabra reserva new, se crea una referencia al objeto, por ejemplo:

Empleado objEm = new Empleado();

En este ejemplo, objEm es una referencia a un objeto basado en Empleado. Esta referencia apunta al nuevo objeto, pero no contiene los datos del objeto, tal y como pudimos ver en el esquema de instancia de una clase al principio del capítulo. Podemos crear sólo la referencia, sin apuntar a datos, por ejemplo:

Empleado objEm;

En este caso, el objeto no apunta a ningún dato y si intentamos usar la variable objEm, daría un error de ejecución. Pero podemos usarlo para el siguiente ejemplo:

Empleado objEmBase = new Empleado();

Empleado objEm = objEmBase;

En este ejemplo, instanciamos la variable objEmBase y a continuación le pasamos las referencias de objEmBase a objEm, lo que significa que ambas están apuntando a los mismos datos. Si cambiamos un valor del objeto en una, lo cambiamos automáticamente en la otra (valores por referencia).

Las clases se agrupan en espacios de nombre (namespace). La palabra clave namespace se utiliza para declarar un ámbito. Este ámbito permite organizar el código y proporciona una forma de crear tipos globalmente únicos. Un espacio de nombres puede contener varias clases y subclases, así como otros espacios de nombres. Por ejemplo:

namespace MisClases

{

public class ClasePrincipal

{

// Instrucciones

}

class ClaseInterna

{

// Instrucciones

}

}

Capýtulo siguiente - Programar. Atributos

Nuestras novedades en tu e-mail

Escribe tu e-mail:



MailxMail tratarý tus datos para realizar acciones promocionales (výa email y/o telýfono).
En la polýtica de privacidad conocerýs tu derechos y gestionarýs la baja.

Cursos similares a Diseño de Aplicaciones Orientadas a Objetos (1/3)



  • Výdeo
  • Alumnos
  • Valoraciýn
  • Cursos
1. Diseño de Aplicaciones Orientadas a Objetos (2/3)
Hoy veras junto a nosotros la segunda parte de nuestro curso de programación en... [06/10/11]
2  
2. DreamWeaver CS3. Objetos Spray
Tutorial de DreamWeaver CS3 . En el siguiente curso encontrarás una introducción a... [28/10/10]
1.374
Curso con video
3. Paleta información de Objetos Object Info de Vector Works
En este curso aprenderás la forma de utilizar el programa Vector Works para... [21/12/11]
6  

ýQuý es mailxmail.com?|ISSN: 1699-4914|Ayuda
Publicidad|Condiciones legales de mailxmail