sistemas computacionales
Programación Orientada
a Objetos en C#
Unidad 2.- Clases y objetos
Autor:
Dr. Ramón Roque Hernández
http://ramonroque.com/Materias/pooTec.htm
ramonroque@yahoo.com
Colaboradores:
Ing. Gloria Ma. Rodríguez Morales
grodriguez@itnuevolaredo.edu.mx
Ing. Bruno López Takeyas, M.C.
www.itnuevolaredo.edu.mx/takeyas
takeyas@itnuevolaredo.edu.mx
12.- Clases y objetos
2.1 Declaración de clases: atributos, métodos,
encapsulamiento.
2.2 Instanciación de una clase.
2.3 Referencia al objeto actual.
2.4 Métodos: declaración, mensajes, paso de
parámetros, retorno de valores.
2.5 Constructores y destructores: declaración
uso y aplicaciones.
2.6 Sobrecarga de métodos.
2.7 Propiedades*
2
Ing. Ramón Roque Hernández, M.C.
1Programación Orientada a Objetos con C#
Espacios de nombres
(namespace)
• Organizan los diferentes componentes
• Un programa puede contener varios
namespaces
• Un namespace puede contener muchas clases
• El programador puede crear sus propios
namespaces
• Para accesar a namespaces se usa la directiva
using:
using System;
using System.Array;
3
using System;
usingSystem.Collections.Generic;
using System.Linq;
using System.Text;
namespace Ejemplo
{
class Program
{
static void Main(string[] args)
{
}
}
}
4
Ing. Ramón Roque Hernández, M.C.
2
Programación Orientada a Objetos con C#
Clases y objetos
• Una clase es básicamente un plano
para un tipo de datos personalizado.
Cuando se define una clase, se utiliza
cargándola en la memoria. Una clase
quese ha cargado en la memoria se
denomina objeto o instancia. Se crea
una instancia de una clase utilizando la
palabra clave de C# new
5
Clases en UML
Cada clase se representa en un
rectángulo con tres compartimentos:
– Nombre
– Atributos y propiedades
– Métodos
6
Ing. Ramón Roque Hernández, M.C.
3
Programación Orientada a Objetos con C#
Cómo declarar una clase
classnombre_de_la_clase
{
… contenido de la clase
…
}
7
Dentro de la clase…
• Se pueden declarar variables, propiedades, métodos,
etc.
• Cada elemento puede tener un modificador de
acceso.
• Un modificador de acceso especifica quienes están
autorizados a “ver” ese elemento.
• Si no se especifica ningún modificador de acceso, se
asume que se trata de un elemento “private”.
8
Ing.Ramón Roque Hernández, M.C.
4
Programación Orientada a Objetos con C#
Modificadores de acceso
• public
Accesible a todos los elementos
• private
Accesible solo a esa misma clase
• protected
Accesible solo a la misma clase y métodos de sus clases
derivadas. No accesible desde el exterior.
• internal
Accesible solo a ese ensamblado
• protected internal
Accesible desde elmismo ensamblado, la misma clase y
métodos de sus clases derivadas
9
Modificadores de acceso
Accesible desde …
Modificador de
acceso
Clase donde
se declaró
Subclase
(Mismo
assembly)
Subclase
(Distinto
Assembly)
Externamente
(Mismo
Assembly)
Externamente
(Distinto
Assembly)
private
SI
NO
NO
NO
NO
internal
SI
SI
NO
SI
NOprotected
SI
SI
SI
NO
NO
protected
internal
SI
SI
SI
SI
NO
public
SI
SI
SI
SI
SI
10
Ing. Ramón Roque Hernández, M.C.
5
Programación Orientada a Objetos con C#
Ejemplo: Variables con
Modificadores de acceso
class claseA
{
//Si no se indica, es private
int numero;
private int numero1;
public int numero2;
protected int numero3 =99;
internal int numero4;
protected internal int numero5;
}
11
Representación de
modificadores de acceso en
C# y UML
Modificador de
acceso
Codificación en C#
Representación en
UML
Privado
private
Público
public
Protegido
protected
Interno
internal
Protegido interno
protected internal
+
#
~
#
12
Ing. Ramón Roque Hernández, M.C.
6...
Regístrate para leer el documento completo.