Anda di halaman 1dari 31

Clase IV

•[Yasna Meza Hidalgo]


•[Agosto 2008]

Diapositiva 1

Agenda
Conversión de tipos
POO y Sintaxis
Clases, Mé
Métodos
Herencia y Constructores
Partial Classes
Ocultamiento
Clases Abstractas e Interfaces
Class Designer

Diapositiva 2

.NET Página 1
Agenda
Conversión de tipos
POO y Sintaxis
Clases, Mé
Métodos
Herencia y Constructores
Partial Classes
Ocultamiento
Clases Abstractas e Interfaces
Class Designer

Diapositiva 3

Conversión de tipos
C# no permite conversiones implí
implícitas de tipos
Si falla el casting se devuelve null o InvalidCastException

Cuenta cta = new CtaCte();


CtaCte cc = cta; //Error: puede que cta no sea una CtaCte
CtaCte cc = (CtaCte)cta; //Conversion explicita “CASTING”
CtaCte cc = cta as CtaCte; //Usando el operador “as”

if (cta is CtaCte) ... //Comp. con el operador “is”

VB.NET usa las directivas del compilador Option Strict


Si falla el casting siempre se genera una InvalidCastException
ón de tipos

Dim cta As Cuenta = New CtaCte()


Dim cc As CtaCte = cta ‘OK Option Strict Off
Dim cc As CtaCte = CType(cta, CtaCte) ‘Option Strict On
Conversió
Conversi

If TypeOf cta Is CtaCte Then ‘Comp. con TypeOf Is


Diapositiva 4

.NET Página 2
Conversión de tipos
.NET ofrece mé
métodos para realizar las conversiones, por ejemplo el
ToString()
ToString() que todos los object tienen.

int numero = 10;


object obj;
obj = numero; //boxing
numero = (int)obj; //unboxing
string valor = numero.ToString(); //Convierte int en cadena

VB.NET usa las directivas del compilador Option Strict


Si falla el casting siempre se genera una InvalidCastException
ón de tipos

Dim precio As String = “100.10”


Dim otroPrecio As double = Convert.ToDouble(precio)
Conversió
Conversi

Dim numero As Long = 1000


Dim numeroDouble As Double = CType(numero, Double)

Diapositiva 5

Laboratorio
•Conversió
Conversión de tipos y Excepciones

Diapositiva 6

.NET Página 3
Agenda
Conversión de tipos
POO y Sintaxis
Clases, Métodos
Herencia y Constructores
Partial Classes
Ocultamiento
Clases Abstractas e Interfaces
Class Designer

Diapositiva 7

Enums
Enum:
Enum: Listas de datos

C#: las estructuras se definen mediante enum


//Definicion del enum dias
enum Dias {lunes, martes, miercoles, jueves, viernes};

VB.NET usa enum / end enum


‘Definicion del enum dias
enum Dias
lunes = 1
POO y Sintaxis

martes = 2
miercoles = 3
jueves = 4
viernes = 5
End Enum
Diapositiva 8

.NET Página 4
Clases
Clase: es la definició
definición de las caracterí
características de un
determinado tipo de objeto.

C#:
C#: las clases son declaradas mediante class
//Definicion de la clase CtaCte
class CtaCte
{
//Definicion de miembros
}

VB.NET usa las palabras Class / End Class


POO y Sintaxis

‘Definicion de la clase CtaCte


Class CtaCte
‘Definicion de miembros
End Class

Diapositiva 9

Constructores
Constructor: funciones dentro de la clase, que son
llamadas cuando se crea una instancia de dicha
clase.
En C# tienen el mismo nombre de la clase
class CtaCte
{
public CtaCte(){...} //Const. por default
public CtaCte(int i){...} //Const. con un parametro
}

VB.NET usa un procedimiento Sub New


Class CtaCte
Sub New()
POO y Sintaxis

End Sub
Sub New(ByVal i As Integer)
End Sub
End Class
Diapositiva 10

.NET Página 5
Propiedades
Propiedad: caracterí
característica
característica o atributo de un objeto

C# VB.NET
class CtaCte
{
Class CtaCte
int _balance;
Dim _balance As Integer
public int Balance
Property Balance() As Integer
{
Get
get
Return _balance
{
End Get
return _balance;
Set (ByVal value As Integer)
}
_balance = value
set
End Set
{
End Property
_balance = value;
End Class
}
POO y Sintaxis

}
Dim cc As New CtaCte()
}
cc.Balance = 100 ‘Asignación
Mostrar(cc.Balance) ‘Obtención
CtaCte cc = new CtaCte();
cc.Balance = 100; //Asignación
Mostrar(cc.Balance); //Obtención
Diapositiva 11

Métodos
M
Métodos:
étodos: acciones que un objeto puede llevar a cabo.
En C# todo mé
método
método es una funció
función
función
public void HacerDeposito(int importe) //No devuelve valor
{
}

public int ObtenerInventario(int codArticulo) //Devuelve un entero


{
}

VB.NET usa procedimientos Sub y funciones Function


Public Sub HacerDeposito(ByVal importe As Integer)
POO y Sintaxis

End Sub

Public Function Inventario(ByVal codArt As Integer) As Integer


End Function

Diapositiva 12

.NET Página 6
Sobrecarga de Métodos
Sobrecarga: varios mé
métodos
m étodos con el mismo nombre, pero
diferentes pará
parámetros.
parámetros.

C#
public void HacerDeposito(int importe)
{
}

public void HacerDeposito(int importe, bool acreditar)


{
}

VB.NET
POO y Sintaxis

Public Sub HacerDeposito(ByVal imp As Integer)


End Sub

Public Sub HacerDeposito(ByVal imp As Integer, ByVal acreditar As Boolean)


End Sub

Diapositiva 13

Namespaces
Namespace: grupo de clases que tienen el mismo prefijo

C# VB.NET
namespace BancoARG Namespace BancoARG
{ Namespace Gestion
namespace Gestion Public Class CtaCte
{
public class CtaCte End Class
{
} Public Class CajaAhorro
public class CajaAhorro
{ End Class
} End Namespace
} End Namespace
}
‘Referencia “full”
//Referencia “full” BancoARG.Gestion.CtaCte
POO y Sintaxis

BancoARG.Gestion.CtaCte; BancoARG.Gestion.CajaAhorro
BancoARG.Gestion.CajaAhorro;
‘Referencia a un namespace
//Referencia “corta” Imports BancoARG.Gestion
using BancoARG.Gestion; Dim cc As New CtaCte()
CtaCte cc = new CtaCte(); Dim ca As New CajaAhorro()
CajaAhorro ca = new CajaAhorro();
Diapositiva 14

.NET Página 7
Herencia
Herencia: mecanismo por el cual una clase (hija) hereda de
otra (padre) para extender su funcionalidad.

En C# la herencia se define:
class Cuenta //Clase Padre
{
}
class CtaCte : Cuenta //Clase Hija
{
} En .NET sólo
se permite
VB.NET usa la palabra clave Inherits Herencia
Class Cuenta ‘Clase Padre Simple
POO y Sintaxis

End Class

Class CtaCte ‘Clase Hija


Inherits Cuenta
End Class
Diapositiva 15

Herencia
Hereda:
Todas las operaciones y atributos pú
públicos
públicos y
privados
Los constructores y destructores no son
heredados
class MyBaseClass Class MyBaseClass
{} End Class

class MyDerivedClass: MyBaseClass Class MyDerivedClass


{} Inherits MyBaseClass
End Class
POO y Sintaxis

Diapositiva 16

.NET Página 8
Herencia
Dos keywords que afectan la ““posiblidad”
posiblidad”
posiblidad” de heredar
desde una clase base.

En C#
public sealed class Cuenta
{
}
public abstract class Cuenta
{
}

VB.NET

Public NotInheritable Class Cuenta


POO y Sintaxis

End Class

Public MustInherit Class Cuenta


End Class
Diapositiva 17

Invocando el Constructor Base en C#

El contructor ““default”
default” siempre invoca
al constructor de la clase base
class MyBaseClass
{
public MyBaseClass(int i)
{}
protected MyBaseClass(string s)
{}
}
class MyDerivedClass: MyBaseClass
{
public MyDerivedClass(int i): base(i)
{}
POO y Sintaxis

public MyDerivedClass(): base("Test")


{}
}

Diapositiva 18

.NET Página 9
Invocando el Constructor Base en
VB.NET
El contructor ““default”
default” siempre invoca
al constructor de la clase base
Class MyBaseClass
Public Sub New(ByVal i As Integer)
End Sub
Protected Sub New(ByVal s As String)
End Sub
End Class
Class MyDerivedClass
Inherits MyBaseClass
Public Sub New(ByVal i As Integer)
MyBase.New(i)
End Sub
POO y Sintaxis

Public Sub New()


MyBase.New("Test")
End Sub
End Class

Diapositiva 19

Protegiendo el Acceso a Miembros


C#
class MyBaseClass
{
““Público”
Público”
blico” a las
protected string field; clases
} derivadas
class MyDerivedClass: MyBaseClass
{} ““Privado”
Privado”
Privado” a las
class ThirdLevel: MyDerivedClass
{
clases externas
public string MyField()
{
No puede ser
return field; usado en
} estructuras
}
POO y Sintaxis

Diapositiva 20

.NET Página 10
Protegiendo el Acceso a Miembros
VB.NET

Class MyBaseClass
Protected field As String
“Público”
blico” a
End Class las clases
Class MyDerivedClass derivadas
Inherits MyBaseClass
End Class “Privado”
Privado” a
Class ThirdLevel
las clases
Inherits MyDerivedClass externas
Public Function MyField() As String
Return field No puede ser
End Function usado en
POO y Sintaxis

End Class
estructuras

Diapositiva 21

Laboratorio
•Clases y Herencia
POO y Sintaxis

Diapositiva 22

.NET Página 11
Partial Class
Permite que una implementació
implementación
implementaci ón abarque múmúltiples
m últiples archivos
V
Válido
álido para clases y structs (y C# interfaces)
Declaradas utilizando el nuevo modificador partial
Provee una serie de beneficios
Implementaciones grandes pueden ser divididas
C
Código
ódigo de usuario puede ser separado de có código
código
generado automá
automáticamente
autom áticamente
Previene que la re-
re-generación
re-generació
generación de có
código
código sobreescriba
cambios
Utilizado por WinForms y DataSets fuertemente
tipados
Varios desarrolladores pueden trabajar en la misma
clase.
Permite code-
code-beside
code -beside en lugar de code-
code-behind
code -behind
Utilizado por ASP.NET 2.0
Permite mejor mantenimiento y control de có código
código fuente.
Diapositiva 23

Partial Class – Ejemplo ((C#)


C#)

Class1.cs Class3.cs

Class2.cs

Diapositiva 24

.NET Página 12
Partial Class – Ejemplo ((VB.NET)
VB.NET)

Class1.cs Class3.cs

Class2.cs

Diapositiva 25

Usando Partial Class


Dividir una clase no afecta el compilado del có código
código
Todas las partes se unen al compilar
No se puede extender una clase ya compilada
El có
código
código es acumulativo o no acumulativo.
Los elementos acumulativos se unen
Incluye mé
métodos,
m étodos, campos e interfaces
Elementos no acumulativos deben coincidir en todas las
partes
Incluye tipos, visibilidad y clases base
Ayuda a estar de acuerdo en la convenció
convención
convenci ón de nombres
Por ejemplo MyCls.Part1.
MyCls.Part1.cs
MyCls.Part1 .cs y MyCls.Part2.
MyCls.Part2.cs
MyCls.Part2 .cs
El visor de clases y la barra de navegació
navegación
navegaci ón reflejan las clases
enteras

Diapositiva 26

.NET Página 13
M étodos Virtuales
Métodos

Es un mémétodo
m étodo que la clase base permite
que sea sobrescrito en una clase derivada
Un mé método
m étodo no-
no-virtual
no -virtual es la UNICA
implementació
implementación
implementaci ón posible para este mé m étodo
método
No classpuede
MyBaseClass ser
está
estático
estático {
public virtual void MyMethod()
No {} puede
}
ser privado
Class MyBaseClass
POO y Sintaxis

Public Overridable Sub MyMethod()


End Sub
End Class

Diapositiva 27

Sobrescribiendo M étodos Virtuales


Métodos

Class MyBaseClass Debe tener la misma


Public Overridable Sub MyMethod() firma para el mé
método
End Sub
End Class No se puede
sobrescribir un mé
método
Class MyDerivedClass sobrescrito
Inherits MyBaseClass Override = virtual to
Public Overrides Sub MyMethod() third level
End Sub
End Class No puede ser está
estático o
privado

class MyBaseClass
{
public virtual void MyMethod(){}
POO y Sintaxis

}
class MyDerivedClass: MyBaseClass
{
public override void MyMethod(){}
}
Diapositiva 28

.NET Página 14
Ocultamiento

Esconde un m método
étodo id
idéntico
éntico
Introduce un nuevo m método
étodo a la
jerarquía
jerarqu ía de la clase
Oculta los m métodos
étodos virtuales y no no--
virtual
Esconde m
métodos
étodos con firmas
id
idénticas
énticas
POO y Sintaxis

Esconde campos con el mismo


identificador
Diapositiva 29

Ocultando métodos no virtuales ((C#)


métodos C#)

class MyBaseClass
{
public void MyMethod()
{}
}
class MyDerivedClass: MyBaseClass
{
new public virtual void MyMethod(){}
}
class ThirdLevel: MyDerivedClass
{
public override void MyMethod(){}
POO y Sintaxis

Diapositiva 30

.NET Página 15
Ocultando métodos
métodos no virtuales
((VB.NET)
VB.NET)
Class MyBaseClass
Public Sub MyMethod()
End Sub
End Class

Class MyDerivedClass
Inherits MyBaseClass

Public Overridable Shadows Sub MyMethod()


End Sub
End Class

Class ThirdLevel
Inherits MyDerivedClass
POO y Sintaxis

Public Overrides Sub MyMethod()


End Sub
End Class

Diapositiva 31

Ocultando campos

class MyBaseClass Class MyBaseClass


{ Public i As Integer
public int i; End Class
}
class MyDerivedClass: MyBaseClass Class MyDerivedClass
{ Inherits MyBaseClass
new public int i; Public Shadows i As Integer
} End Class
class ThirdLevel: MyDerivedClass
{ Class ThirdLevel
public void MyMethod() Inherits MyDerivedClass
{
i = 10; Public Sub MyMethod()
} i = 10
POO y Sintaxis

} End Sub
End Class

Diapositiva 32

.NET Página 16
Laboratorio
•Métodos virtuales y ocultamiento
POO y Sintaxis

Diapositiva 33

Interfaces

Contienen só
sólo
sólo mé
métodos
métodos sin implementació
implementación
implementación
Describen un ““contrato”
contrato”
contrato”
No heredan atributos
No se pueden crear instancias de una
interfaz
Las clases derivadas deben de implementar
todas las operaciones heredadas
ITransportable
POO y Sintaxis

Acelera

Frena

Diapositiva 34

.NET Página 17
Interfaces
Interfaz: Define un contrato. Una clase o estructura
que la implementa, adhiere al mismo.

C#: las Interfaces son declaradas mediante interfase


//Definicion de la clase CtaCte
interfase ICtaCte
{
//Definicion de miembros
}

VB.NET usa las palabras Interfase / End Interfase


POO y Sintaxis

‘Definicion de la clase CtaCte


Interfase ICtaCte
‘Definicion de miembros
End Interfase

Diapositiva 35

Interfaces

Los mé
métodos
m étodos son implí
implícitamente
implícitamente púpúblicos
p úblicos
Los mé
métodos
m étodos no tienen cuerpo (implementació
(implementación)
(implementación)
No se declaran ““access
access modifiers”
modifiers”
Está
Estándar
Estándar Se les agrega el prefijo ““I”
I”

interface IMyInterface
{
void MyMethod1();
bool MyMethod2(string s);
}

Interface IMyInterface
Sub MyMethod1()
POO y Sintaxis

Function MyMethod2(ByVal s As String) As Boolean


End Interface

Diapositiva 36

.NET Página 18
M étodos de las Interfaces
Métodos

Una clase puede implementar cero,


una o m
más
ás interfases
Deben de implementarse todos los
métodos
métodos heredados por la interfaz
Las interfaces a su vez pueden
heredar de mmúltiples
últiples interfaces
POO y Sintaxis

Diapositiva 37

Implementando M étodos
Métodos de una
Interfaz
Implementació
Implementación Implí
Implementación Implícita (C#
Implícita C#))
((C#)
Escribe el mé
método
m étodo exactamente de la misma forma que el
m
método
étodo de la interfase
El mismo ““access
access modifier”
modifier” ((public),
public),
public), el mismo tipo de
retorno, mismo nombre, mismos paráparámetros
parámetros
El mé
método
m étodo implementado puede ser virtual o no virtual
interface IMyInterface
{
void MyMethod1();
bool MyMethod2(string s);
}
class MyClass: IMyInterface
{
public virtual void MyMethod1() {}
POO y Sintaxis

public bool MyMethod2(string s) {}


public void OtherMethod() {}
}

Diapositiva 38

.NET Página 19
Invocando M étodos de una Interfaz
Métodos
Implementació
Implementación Implí
Implementación Implícita (C#
Implícita C#))
((C#)

Puede ser invocada directamente a


trav
través
és de una clase o estructura.
Puede realizarse un ““cast”
cast” al tipo de
la interfaz

MyClass mc = new MyClass();


mc.MyMethod1();
mc.OtherMethod();
POO y Sintaxis

IMyInterface mi = mc;
bool b = mi.MyMethod2(“Hello”);

Diapositiva 39

Implementando M étodos
Métodos de una
Interfaz
Implementació
Implementaci
Implementación ón Explicita (C#
C#))
((C#)
Debe usarse el nombre completo del mé método
m étodo para su acceso
((fully
fully qualified name)
name)
No puede ser declarada como virtual
No puede especificar un ““access
access modifier”
modifier”
SSólo
ólo puede ser accesado a travé
través
través de la interfase

interface IMyInterface
{
void MyMethod1();
bool MyMethod2(string s);
}
class MyClass: IMyInterface
{
POO y Sintaxis

void IMyInterface.MyMethod1() {}
bool IMyInterface.MyMethod2(string s) {}
}

Diapositiva 40

.NET Página 20
Invocando M étodos de una Interfaz
Métodos
Implementació
Implementación Explí
Implementación Explícita (C#
Explícita C#))
((C#)

No puede ser invocado de forma directa


No es parte publica de una clase
Debe ser aplicado un ““cast”
cast”
cast” al tipo de la interfase y llamado
desde el tipo de la interfaz
En las estructuras esto significa una operació operación
operaci ón de
““boxing”
boxing”
boxing”
MyClass mc = new MyClass();
mc.MyMethod1();

IMyInterface mi = new MyClass();


mc.MyMethod1();
POO y Sintaxis

bool b = mi.MyMethod2(“Hello”);

Diapositiva 41

Implementando M étodos
Métodos de una
Interfaz
Ventajas: Implementació
Implementaci
Implementación ón Explí
Explícita (C#
Explícita C#))
((C#)
Permite que la implementació
implementación
implementaci ón de la interfase sea excluida de
la cara pú
pública
p ública de la clase o estructura
Implementa de forma interna una interfaz que no es de
interé
interés
interés para el usuario de la clase o estructura
Resuelve conflictos de nombre
interface IMyInterface1
{
void MyMethod();
}
interface IMyInterface2
{
void MyMethod();
}
POO y Sintaxis

class MyClass: IMyInterface1, IMyInterface2


{
void IMyInterface1.MyMethod() {}
void IMyInterface2.MyMethod() {}
}
Diapositiva 42

.NET Página 21
Implementando M étodos de una Interfaz
Métodos
VB.NET
Interface IMyInterface
Sub MyMethod1()
Sub MyMethod2()
Sub MyMethod3()
Sub MyMethod4()
Sub MyMethod5()
End Interface

Class [MyClass]
Implements IMyInterface

Public Sub MyMethod1() Implements IMyInterface.MyMethod1


End Sub

Public Overridable Sub MyMethod2() _


Implements IMyInterface.MyMethod2
End Sub

Private Sub MyMethod3() _


POO y Sintaxis

Implements IMyInterface.MyMethod3
End Sub

Public Sub WhateverMethod() _


Implements IMyInterface.MyMethod4, IMyInterface.MyMethod5
End Sub
End Class Diapositiva 43

Invocando M étodos de una Interfaz


Métodos
VB.NET
Si fue declarada p pública
ública puede ser
invocada de forma directa
Si fue declarada como privada deber
deberá
á
ser invocada a trav
través
és de un ““cast”
cast” al
tipo de la interfaz.
Para las estructuras esto significa una
operació
operación de ““boxing”
operación boxing”
boxing”
POO y Sintaxis

Diapositiva 44

.NET Página 22
Clases Abstractas

Proveen una implementaci


implementación
ón parcial
para que sea heredada por las clases
derivadas
No pueden ser instanciadas
Utiliza el calificador abstract en C#
Use MustInherit keyword in VB.NET
POO y Sintaxis

Diapositiva 45

Clases Abstractas
C#
interface ITransporte
{ «interface»
string Name(); ITransporte
}

abstract class Transporte:


ITransporte Transporte
{ abstract }
{
string Name()
{ ... }
}
Taxi Colectivo
class Taxi: Transporte <<Concrete>> <<Concrete>>
POO y Sintaxis

{ ... }

class Colectivo: Transporte


{ ... }

Diapositiva 46

.NET Página 23
Clases Abstractas
VB.NET
Interface ITransporte
Function Name() As String
End Interface «interface»
ITransporte
MustInherit Class Transporte
Implements ITransporte

Private Function Name() As String _


Implements ITransporte.Name Transporte
'... { abstract }
End Function

End Class

Class Taxi
Inherits Transporte Taxi Colectivo
'... <<Concrete>> <<Concrete>>
POO y Sintaxis

End Class

Class Colectivo
Inherits Transporte
'...
End Class

Diapositiva 47

Clases Abstractas

interface ITransporte
{ «interface»
ITtansporte
string Name();
}

abstract class Transporte


{ Transporte
public virtual string Name() { abstract }
{ ... }
}

class Taxi: Transporte, ITransporte


Taxi Colectivo
{ ... }
<<Concrete>> <<Concrete>>
POO y Sintaxis

class Colectivo: Transporte,


ITransporte
{ ... }

Diapositiva 48

.NET Página 24
Clases Abstractas

Interface IToken
Function Name() As String «interface»
End Interface ITtansporte
MustInherit Class Token
Public Overridable Function Name() As
String
'...
End Function Transporte
{ abstract }
End Class

Class CommentToken
Inherits Token
Implements IToken
'... Taxi Colectivo
End Class <<Concrete>> <<Concrete>>
POO y Sintaxis

Class KeywordToken
Inherits Token
Implements IToken
'...
End Class1
Diapositiva 49

M étodos Abstractos
Métodos

SSólo
ólo en clases abstractas
No pueden contener implementació
implementación
implementación
Deben ser implementados por las clases derivadas
Utiliza el calificador abstract en C#
Utiliza MustOverride en VB.NET
Los mémétodos
métodos abstractos son virtuales
Los mé métodos
m étodos abstractos pueden sobrescribir
mmétodos
étodos de la clase base declarados como
virtuales
Los mé métodos
m étodos abstractos pueden sobrescribir
POO y Sintaxis

mmétodos
étodos de la clase base declarados como
““override”
override”
override”

Diapositiva 50

.NET Página 25
Métodos “estáticos”
Miembros que no requieren de una instancia para ser
invocados

C#
public static void HacerDeposito(int importe)
{

VB.NET

Public Shared Sub HacerDeposito(ByVal imp As Integer)


POO y Sintaxis

End Sub

Diapositiva 51

Resumen
Hemos visto los conceptos
principales de Programación
Orientada a Objetos, aplicados a la
sintaxis de los lenguajes
Soportados por .NET
Se implementaron clases, herencia,
métodos virtuales y clases
abstractas
POO y Sintaxis

Diapositiva 52

.NET Página 26
Agenda
Conversión de tipos
POO y Sintaxis
Clases, Mé
Métodos
Herencia y Constructores
Partial Classes
Ocultamiento
Clases Abstractas e Interfaces
Class Designer

Diapositiva 53

Class Designer
Class Designer

Diapositiva 54

.NET Página 27
Usar Class Diagrams para…

Entender el código existente


Diseñar las clases
Revisar y modificar código
Generar diagramas para
documentación
Class Designer

Diapositiva 55

Class Designer

Refleja el archivo de código fuente


relacionado
El diagrama es una vista del có
código
Almacenado a nivel de proyecto
Soporta herencia
Soporta asociaciones
Soporta enums y structs
Class Designer

Diapositiva 56

.NET Página 28
Class Designer

Elementos del designer


Class
Enum
Interface
Abstract Class
Struct
Delegate
Inheritance
Association
Class Designer

Comment

Diapositiva 57

Class Designer – Agregando una


clase
Class Designer

Diapositiva 58

.NET Página 29
Class Designer
Implementando una Interfaz
Visualizando la jerarquía de clases
Class Designer

Diapositiva 59

Laboratorio
•Class Designer
Class Designer

Diapositiva 60

.NET Página 30
Resumen
Luego de comprender
programáticamente la forma en la
que se trabaja con clases, se
incorporó la herramienta de Class
Designer de Visual Studio, que
permite desarrollar de manera
sencilla y documentar nuestro
modelo paralelamente.
Class Designer

Diapositiva 61

.NET Página 31

Anda mungkin juga menyukai