Sie sind auf Seite 1von 7

INSTITUTO TECNOLÓGICO SUPERIOR DE CIUDAD HIDALGO

MATERIA:
PROGRAMACIÓN AVANZADA

PROFESOR:
M. EN I.S.C SAMUEL EFRÉN VIÑAS ÁLVAREZ

ALUMNO:
JESÚS GUADALUPE TELLO GARCÍA

GRUPO:
357H

CARRERA
INGENIERÍA MECATRÓNICA

TEMA:
CLASES EN C#

CIUDAD HIDALGO, MICH., 14 DE SEPTIEMBRE DEL 2017


Clases
La clase es una construcción que permite crear tipos personalizados propios
mediante la agrupación de variables de otros tipos, métodos y eventos. Una
clase es como un plano. Define los datos y el comportamiento de un tipo. Si la
clase no se declara como estática, el código de cliente puede utilizarla mediante
la creación de objetos o instancias que se asignan a una variable. La variable
permanece en memoria hasta todas las referencias a ella están fuera del ámbito.
Si la clase se declara como estática, solo existe una copia en memoria y el código
de cliente solo puede tener acceso a ella a través de la propia clase y no de una
variable de instancia.

Tipos de clases

Una parte muy importante de la programación orientada a objetos son las clases,
si no fuera por ellas ni siquiera habría objetos. Cada una tiene sus propias
características y ventajas, por lo cual se debe saber cada una de las
características para saber cuándo debe usar una y no otra, de manera que se
desarrolla un buen software. Los tipos de clases son:

 Class. Public: Son muy comunes, accesibles desde cualquier otra clase
en la misma librería (de otro modo hay que importarlas).
 Class. Abstract: Aquellas que tienen por lo menos un método abstracto.
No implementan sus métodos, sino que dan las bases para que sean
implementados en la herencia.
 Class. Final: Son las que terminan la cadena de herencia. Útiles por
motivos de seguridad y eficiencia de un programa, ya que no permiten
crear más sub-divisiones por debajo de esta clase.
 Class. Synchronizable: Especifica que sus métodos son sincronizados,
evitando problemas con los thread (hilo de ejecución), de forma que estos
no pueden empezar a correr un método si no ha acabado el otro.

Declarar clases

Las clases se declaran mediante la palabra clave class seguida por un


identificador único, como se muestra en el siguiente ejemplo:
//[access modifier] - [class] - [identifier]
public class Customer
{
// Fields, properties, methods and events go here...
}

La palabra clave class va precedida del nivel de acceso. Como en este caso se
usa public, cualquier usuario puede crear instancias de esta clase. El nombre de
la clase sigue a la palabra clave class. El resto de la definición es el cuerpo de la
clase, donde se definen los datos y el comportamiento. Los campos, las
propiedades, los métodos y los eventos de una clase se denominan de forma
colectiva miembros de clase.

Características fundamentales de las clases

 Nombre de la clase. Sirve para identificar a todos los objetos que tengan
unas determinadas características.
 Conjunto de atributos. Datos miembros. El valor de los atributos
representan el estado de cada objeto.
 Conjunto de métodos. Funciones miembro. Permite que los objetos
cambien de estado, dependiendo del estado anterior que tuviera el objeto.
 Niveles de acceso para proteger ciertos miembros de la clase.
Normalmente, se definirán como ocultos (privados) los atributos y visibles
(públicos) los métodos.

Herencia de clases

Las clases admiten completamente la herencia, una característica fundamental


de la programación orientada a objetos. Al crear una clase, puede heredar de
cualquier otra interfaz o clase que no esté definida como sealed; y otras clases
pueden heredar de su clase e invalidar los métodos virtuales de la clase.

La herencia se consigue mediante una derivación, en la que se declara una clase


mediante una clase base, desde la que hereda los datos y el comportamiento.
Una clase base se especifica anexando dos puntos y el nombre de la clase base
seguido del nombre de la clase derivada, como en el siguiente ejemplo:
public class Manager : Employee
{
// Employee fields, properties, methods and events are inherited
// New Manager fields, properties, methods and events go here...
}

Cuando una clase declara una clase base, hereda todos los miembros de la clase
base excepto los constructores. Para obtener más información, vea Herencia.

A diferencia de C++, una clase de C# solo puede heredar directamente de una


clase base. En cambio, dado que una clase base puede heredar de otra clase,
una clase podría heredar indirectamente varias clases base.

Una clase puede declararse abstracta. Una clase abstracta contiene métodos
abstractos que tienen una definición de firma, pero no tienen ninguna
implementación. No se pueden crear instancias de las clases abstractas. Solo
se pueden usar a través de las clases derivadas que implementan los métodos
abstractos. Por el contrario, la clase sealed no permite que otras clases se
deriven de ella
Ejemplo

En el ejemplo siguiente se define una clase pública que contiene una propiedad
implementada automáticamente, un método y un método especial denominado
constructor. Para obtener más información, consulta los temas Propiedades,
Métodos y Constructores. Luego, se crea una instancia de las instancias de la
clase con la palabra clave new.

using System;

public class Person


{
// Constructor that takes no arguments:
public Person()
{
Name = "unknown";
}

// Constructor that takes one argument:


public Person(string name)
{
Name = name;
}

// Auto-implemented readonly property:


public string Name { get; }

// Method that overrides the base class (System.Object) implementation.


public override string ToString()
{
return Name;
}
}
class TestPerson
{
static void Main()
{
// Call the constructor that has no parameters.
var person1 = new Person();
Console.WriteLine(person1.Name);

// Call the constructor that has one parameter.


var person2 = new Person("Sarah Jones");
Console.WriteLine(person2.Name);
// Get the string representation of the person2 instance.
Console.WriteLine(person2);
Console.WriteLine("Press any key to exit.");
Console.ReadKey();
}
}
// Output:
// unknown
// Sarah Jones
// Sarah Jones
Bibliografía

 Clases (Guía de programación de C#). (2018). Retrieved from


https://docs.microsoft.com/es-es/dotnet/csharp/programming-guide/classes-and-
structs/classes.
 Clase (Programación) - EcuRed. (2018). Retrieved from
https://www.ecured.cu/Clase_(Programación).

Das könnte Ihnen auch gefallen