Declaracion de clases en C

Páginas: 7 (1687 palabras) Publicado: 6 de mayo de 2013
Clases y Objetos en C#

31/01/2012

1

Agenda
Representación de Clases
Declaración de Clases
Modificadores de Acceso
Declaración de campos de instancia
Declaración de métodos

31/01/2012

2

Representación de una clase
Nombre de la Clase
-Atributos
+Operaciones()

Complejo
+Sumar()
+Restar()
+Multiplicar()
+Dividir()
+LeerModulo()
+LeerArgumento()
+LeerParteReal()+LeerParteImaginaria()
31/01/2012

Motocicleta
-Color
-Cilindros
-Vel_Maxima
+Arrancar()
+Acelerar()
+Frenar()

Televisión
+Enceder()
+Apagar()
+CambiarCanal()
+RegularVolumen()
3

Cómo se define una clase en
C#
Sintaxis:
[atributos] [modificador_de_acceso]
class nombre_de_la_clase [ :
clase_base [ , interface(s) ] ]
{
Declaración_de_atributos
Declaración_de_métodos
}31/01/2012

4

Ejemplo de una clase
class Dado {
public Random generador;
public Dado() {
generador = new Random();
}
public int Lanzar() {
int valor = generador.Next(1, 7);
return valor;
}

}
31/01/2012

5

Creación y uso de objetos
Las clases son sólo declaraciones.
Los verdaderos actores de la Programación
Orientada a Objetos son los objetos.
Una vez declarada unaclase, podemos
utilizar el nombre de la clase como un nuevo
Tipo.
Por lo que podemos declarar una variable de
referencia a un objeto que sea del tipo de la
clase.
31/01/2012

6

Creación y uso de objetos
Dado d;
Declara un objeto, d, que es una instancia de la clase
Dado.
Una instancia de un objeto es una variable de
referencia, por lo tanto los datos del objeto se
almacenan en elmontículo (heap).
Sin embargo el enunciado anterior no crea el objeto.
Es necesario utilizar el operador new

Dado d1 = new Dado();
Dado d2;
d2 = new Dado();
31/01/2012

7

Creación y uso de objetos
Una vez que la instancia del objeto está
definido, podemos acceder a los
campos del objeto mediante el
operador .
int n = d1.Lanzar();
Console.WriteLine(d2.Lanzar());

31/01/2012

8 Modificadores de visibilidad
Los atributos y los métodos pueden
tener modificadores, que indican los
niveles de acceso que otros métodos
pueden tener sobre ellos.
C# cuenta con un conjunto de
modificadores de visibilidad.

31/01/2012

9

Modificadores de Acceso de
C#
Modificador Restricción
de acceso
public

Sin restricciones. Los miembros marcados como
public estánvisibles a cualquier método de la
clase

private

Los miembros de una clase A marcados como
private son accesibles sólo a los métodos de la
clase A.

protected

Los miembros de una clase A marcados
protected pueden ser accedidos por los métodos
de la clase A y también por los métodos de las
clases derivadas de la clase A.

31/01/2012

10

Modificadores de Acceso de
C#
Modificadorde acceso

Restricción

internal

Los miembros de una clase A marcados internal
pueden ser accedidos por los métodos de
cualquier clase en el ensamblado (assembly) de
A.

protected
internal

Los miembros de una clase A marcados
protected internal pueden ser accedidos por los
métodos de la clase A y también por los
métodos de las clases derivadas de la clase A,
así como por losmétodos de cualquier clase en
el ensamblado (assembly) de A.
Esto equivale a protected OR internal.

31/01/2012

11

Laboratorio 3:
Encapsulamiento
Modifique la clase DemoDado para
generar el número aleatorio
directamente, sin llamar al método
Lanzar():
Console.WriteLine("Al lanzar el
dado cayó {0}",
d.generador.Next(1,7));
31/01/2012

12

Laboratorio 3:
EncapsulamientoModifique el acceso al campo de instancia
generador clase haciendo su acceso privado:
private Random generador;
Compile y ejecute el programa. ¿Qué sucedió?
Vuelva a escribir el código para que se invoque
al método Lanzar().
Console.WriteLine("Al lanzar el dado
cayó {0}", d.Lanzar());

31/01/2012

13

Encapsulamiento
La recomendación es hacer que los
campos de instancia tengan...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • C con clases
  • CLASES EN C
  • Clases en C#
  • clase c
  • Clases en c++
  • Clases en c#
  • clases c++
  • Fundamentos de Clases en C++

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS