Programacion en C#
o
Orientada a Objetos
C#
F´lix G´mez M´rmol
e
o
a
3o Ingenier´ Inform´tica
ıa
a
Julio de 2004
2
´
Indice general
´
Indice General
4
2. Clases y Objetos
2.1. Clases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.1. Estructura . . . . . . . . . . . . . . . . . . . . . . .
2.1.2. Ocultaci´n de la informaci´n . . . . . . . . . . . . .
oo
2.1.3. Relaciones entre clases: Cliente-Servidor y Herencia
2.1.4. Visibilidad . . . . . . . . . . . . . . . . . . . . . . .
2.2. Objetos . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3. Mensajes . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1. Sintaxis. Notaci´n punto . . . . . . . . . . . . . . . .
o
2.3.2. Sem´ntica . . . . . . . . . . . . . . . . . . . . .. . .
a
2.4. Sem´ntica referencia versus sem´ntica almacenamiento . . .
a
a
2.5. Creaci´n de objetos . . . . . . . . . . . . . . . . . . . . . .
o
2.5.1. Destructores . . . . . . . . . . . . . . . . . . . . . .
2.6. Sem´ntica de la asignaci´n e igualdad entre objetos . . . . .
a
o
2.7. Genericidad . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.8. Definici´n de una clase “ListaDoblemente Enlazada” . . .
o
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
5
5
7
8
9
10
10
10
10
11
11
12
12
14
14
3. Dise˜ o por Contrato: Asertos y Excepciones
n
3.1. Contrato software . . . . . . . . . . . . . . . .
3.2. Clases y Correcci´n del software: Asertos . .
o
3.3. Excepciones en C# . . . . . . . . . . . . . . .
3.3.1. Lanzamientode excepciones . . . . . .
3.3.2. Bloques try . . . . . . . . . . . . . . .
3.3.3. Manejadores . . . . . . . . . . . . . .
3.4. Conversi´n de asertos en excepciones . . . . .
o
4. Herencia
4.1. Introducci´n . . . . . . . . . . . . . . . . .
o
4.2. Doble aspecto de la herencia . . . . . . . .
4.3. Polimorfismo . . . . . . . . . . . . . . . .
4.3.1. Sobrecarga . . . . . . . . . . . . .4.3.2. Regla de aplicaci´n de propiedades
o
4.3.3. Estructuras de datos polim´rficas .
o
4.3.4. Operadores is y as . . . . . . . .
4.4. Ligadura Din´mica . . . . . . . . . . . . .
a
4.5. Clases Diferidas . . . . . . . . . . . . . . .
4.5.1. Interfaces . . . . . . . . . . . . . .
4.6. Herencia, reutilizaci´n y extensibilidad del
o
4.7. Herencia m´ltiple . . . . . . . . . . . . . .
u
3
..
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
17
17
17
18
20
21
22
22.....
.....
.....
.....
.....
.....
.....
.....
.....
.....
software
.....
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
25
25
26
26
27
29
29
29
30
31
32
34
37
.
.
.
.
.
.
.
.
.
.
.
.
.
.
4
´
INDICE GENERAL
4.7.1....
Regístrate para leer el documento completo.