PDF de programación - Conferencia: Diseño de clases genéricas en C# .NET

Imágen de pdf Conferencia: Diseño de clases genéricas en C# .NET

Conferencia: Diseño de clases genéricas en C# .NETgráfica de visualizaciones

Publicado el 18 de Febrero del 2019
973 visualizaciones desde el 18 de Febrero del 2019
1,0 MB
21 paginas
Creado hace 11a (13/04/2013)
Conferencia: “Diseño de clases genéricas en C# .NET”

Ing. Bruno López Takeyas, M.C.

Bruno López Takeyas

Instituto Tecnológico de
Nuevo Laredo

¿Se puede diseñar un sistema con
varios propósitos?
 Supongamos que una empresa y una ferretería nos solicitan
un sistema computacional para administrar los empleados y
los artículos respectivamente.

 ¿Se puede hacer con el mismo diseño de proyecto?

 Pero …

 Son datos diferentes
 Diferentes variables
 Diferentes tipos de datos
 Criterios de ordenamiento distintos

http://www.itnuevolaredo.edu.mx/Takeyas/libro

1

Conferencia: “Diseño de clases genéricas en C# .NET”

Ing. Bruno López Takeyas, M.C.

CONFERENCIA

1. Introducción al paradigma orientado

a objetos

2. Relaciones entre clases (herencia,

composición y agregación)

3. Ejemplos de aplicación: Lista de

empleados y lista de artículos

1ª. PARTE

INTRODUCCIÓN AL PARADIGMA

ORIENTADO A OBJETOS

http://www.itnuevolaredo.edu.mx/Takeyas/libro

2

Conferencia: “Diseño de clases genéricas en C# .NET”

Ing. Bruno López Takeyas, M.C.

1.- Introducción al paradigma
orientado a objetos

 La POO es un conjunto de técnicas que pueden
programas

desarrollar

utilizarse
eficientemente.

para

 Los objetos son los elementos principales de

construcción.

 La Orientación a Objetos (OO) es el estilo
dominante de programación, descripción y
modelado de hoy en dia.

Objetos en el mundo real

Lavadora

Perro

Televisión

Persona

Factura

6

http://www.itnuevolaredo.edu.mx/Takeyas/libro

3

Conferencia: “Diseño de clases genéricas en C# .NET”

Ing. Bruno López Takeyas, M.C.

Ejemplo: PERRO

 Características:

 Nombre: “FIDO”
 Raza: “Chihuahua”
 Color: “Café”
 ….etc…

 Acciones:

[“Guau Guau”]

 Ladrar
 Comer [“Chomp Chomp”]
 Dormir [“Zzzzzzzz”]
 …etc…

7

¿Cómo modelar un objeto real en
un programa?
 Las “características” son ATRIBUTOS (datos) o

PROPIEDADES.

 Las “acciones” son MÉTODOS u operaciones.

FIDO : Perro

Nombre: FIDO
Raza: Chihuahua
Color: Café

Ladrar()
Comer()
Dormir()

Objeto Perro “Real”

Abstracción de un objeto“Perro”
en software

8

http://www.itnuevolaredo.edu.mx/Takeyas/libro

4

Conferencia: “Diseño de clases genéricas en C# .NET”

Ing. Bruno López Takeyas, M.C.

Clases y Objetos
 “FIDO” es UN “PERRO”
 “FIDO” es del TIPO “PERRO”
 “FIDO” es un OBJETO
 “PERRO” es la CLASE de “FIDO”

 “CHESTER” es OTRO “PERRO”
 “CHESTER” también es del TIPO “PERRO”
 “CHESTER” es otro OBJETO
 “PERRO” también es la CLASE de “CHESTER”

9

Clase  Es

de

una

descripción

las
características y acciones para un
tipo de objetos.

 Una clase NO es un objeto. Es
o

solo
definición para crear objetos.

plantilla,

plano

una

 A partir de una clase se pueden
crear
objetos
independientes con las mismas
características.

muchos

10

http://www.itnuevolaredo.edu.mx/Takeyas/libro

5

Conferencia: “Diseño de clases genéricas en C# .NET”

Ing. Bruno López Takeyas, M.C.

Clases en UML

 Cada clase se representa en un rectángulo

con tres compartimentos:

 Nombre

 Atributos y propiedades

 Métodos

11

12

Objeto

 Unidad que combina datos y funciones.

 Datos = Propiedades = Atributos = Características
 Funciones = Métodos = Procedimientos =Acciones

 Un objeto es creado a partir de una clase.
 Los datos y funciones están Encapsulados.
 Posee un nombre único (identificador).
 Un objeto es del tipo de una clase
 “Un objeto es la instancia de una clase”
 Un objeto es un ejemplar específico creado con la

estructura de una clase.

http://www.itnuevolaredo.edu.mx/Takeyas/libro

6

Conferencia: “Diseño de clases genéricas en C# .NET”

Ing. Bruno López Takeyas, M.C.

2ª. PARTE

RELACIONES ENTRE CLASES
(Herencia, composición y

agregación)

Herencia

 Capacidad para utilizar características previstas en

antepasados o ascendientes.

 Permite construir nuevas clases a partir de otras ya
existentes, permitiendo que éstas les “transmitan”
todos sus componentes.

 Una subclase hereda el comportamiento y la estructura

de su Super Clase

14

http://www.itnuevolaredo.edu.mx/Takeyas/libro

7

Conferencia: “Diseño de clases genéricas en C# .NET”

Ing. Bruno López Takeyas, M.C.

Representación de herencia en UML

 Puede usarse para:

 Relaciones del tipo “es

un”
 Ejemplo: Un Gerente “es
con
propias

un”
características
adicionales.

Empleado

 Objetivo: Reutilización de

código.

15

Ejemplo de herencia

class Empleado:Persona
{
….
}

class Administrador:Empleado
{
….
}

class Persona
{
….
}

class Estudiante:Persona
{
….
}

class Profesor:Empleado
{
….
}

16

http://www.itnuevolaredo.edu.mx/Takeyas/libro

8

Conferencia: “Diseño de clases genéricas en C# .NET”

Ing. Bruno López Takeyas, M.C.

Clases parametrizadas o
genéricas
 Ejemplo: Una empresa y una escuela desean
la clave y nombre de sus

almacenar
personas:
 Clave: Entero ó String
 Nombre: String

 Pero en la empresa la clave es numérica

entera y en la escuela es una cadena.

Clases parametrizadas o genéricas
(cont.)

Clases iguales

(excepto en el tipo de dato de la clave)

Escuela

Empresa

17

18

http://www.itnuevolaredo.edu.mx/Takeyas/libro

9

Conferencia: “Diseño de clases genéricas en C# .NET”

Ing. Bruno López Takeyas, M.C.

Clases parametrizadas o genéricas
(cont.)

Diseñar una clase parametrizada que sirva para ambos casos:

Asociación entre clases

Asociación

Composición

Agregación

19

20

http://www.itnuevolaredo.edu.mx/Takeyas/libro

10

Conferencia: “Diseño de clases genéricas en C# .NET”

Ing. Bruno López Takeyas, M.C.

Ejemplos

21

Composición

Define una relación fuerte entre clases

Se utiliza para modelar un "todo" y sus

"partes" donde …
El "todo" no puede existir si no existen

sus

"partes"

Las "partes" desaparecen cuando se

elimina el "todo"

22

http://www.itnuevolaredo.edu.mx/Takeyas/libro

11

Conferencia: “Diseño de clases genéricas en C# .NET”

Ing. Bruno López Takeyas, M.C.

Representación de la composición

 Gráficamente se representa colocando un
rombo negro en el extremo de la clase
constituida (clase del “todo”).

23

Agregación
 Define una relación débil donde una clase se

puede formar de otras clases

 Sin embargo, la existencia de objetos de dichas

clases es independiente

 Se utiliza para modelar un "todo" y sus "partes"

donde …

 El "todo" se forma agregando sus "partes"
 Las "partes" pueden pertenecer a varios "todos"
 Si se elimina el "todo" pueden seguir existiendo sus

"partes"

24

http://www.itnuevolaredo.edu.mx/Takeyas/libro

12

Conferencia: “Diseño de clases genéricas en C# .NET”

Ing. Bruno López Takeyas, M.C.

Representación de la agregación

 Gráficamente se representa colocando un

rombo blanco en el extremo de la clase
constituida (clase del “todo”).

25

Interfaces

 Son mecanismos para que puedan interactuar

varios objetos no relacionados entre sí

 Son protocolos o “contratos” que obligan la

herencia

 Contienen las declaraciones de los métodos, pero

no su implementación.

 Son plantillas de comportamiento que deben ser

implementados por otras clases.

26

http://www.itnuevolaredo.edu.mx/Takeyas/libro

13

Conferencia: “Diseño de clases genéricas en C# .NET”

Ing. Bruno López Takeyas, M.C.

Interfaces en C#

IComparable
IEquatable
IEnumerable
Y otras …

27

28

http://www.itnuevolaredo.edu.mx/Takeyas/libro

14

Conferencia: “Diseño de clases genéricas en C# .NET”

Ing. Bruno López Takeyas, M.C.

La interfaz IComparable

 Contiene la declaración del método CompareTo()

interface IComparable

{

}

int CompareTo(object obj);

 El método CompareTo() devuelve un valor entero

como resultado de la comparación

29

La interfaz IEquatable

 Contiene la declaración del método Equals()

interface IEquatable<T>

{

}

bool Equals(T obj);

 El método Equals() devuelve un valor

booleano como resultado de la comparación

30

http://www.itnuevolaredo.edu.mx/Takeyas/libro

15

Conferencia: “Diseño de clases genéricas en C# .NET”

Ing. Bruno López Takeyas, M.C.

Uso de las interfaces IComparable
e IEquatable

31

3ª. PARTE

EJEMPLOS DE APLICACIÓN:
Lista de empleados y lista de

artículos

http://www.itnuevolaredo.edu.mx/Takeyas/libro

16

Conferencia: “Diseño de clases genéricas en C# .NET”

Ing. Bruno López Takeyas, M.C.

Listas enlazadas simples
 Estructura de datos compuesta de nodos en
través de una

a

secuencia
enlazados
referencia (apuntador).

 Cada nodo se compone de 2 partes:

 Datos
 Referencia al siguiente nodo

 Además, hay una referencia al primer nodo

de la lista y el último nodo apunta a nulo

33

Datos de los empleados

 Crear una clase para
modelar un objeto con
datos de un empleado

 Crear una lista que
muchos

almacene
empleados

 Ordenarlos

descendentes
acuerdo al número

de

34

http://www.itnuevolaredo.edu.mx/Takeyas/libro

17

Conferencia: “Diseño de clases genéricas en C# .NET”

Ing. Bruno López Takeyas, M.C.

Datos de los artículos

 Crear una clase para
modelar un objeto
con datos de un
artículo

 Crear una lista que
almacene muchos
artículos

 Ordenarlos
ascendentes
acuerdo a la clave

de

35

Diseño genérico de la lista

http://www.itnuevolaredo.edu.mx/Takeyas/libro

18

Conferencia: “Diseño de clases genéricas en C# .NET”

Ing. Bruno López Takeyas, M.C.

Insertar un empleado

 Capturar los datos de
en

empleado

un
textBoxes

 Al oprimir el botón
insertar,
un
objeto de
clase
Empleado e insertarlo
en la lista genérica

crear
la

 Mostrar los datos en

un dataGridView

37

Insertar un artículo

 Capturar los datos de
en

artículo

un
textBoxes

 Al oprimir el botón
insertar,
un
objeto de
clase
Artículo e insertarlo
en la lista genérica

crear
la

 Mostrar los datos en

un dataGridView

38

http://www.itnuevolaredo.edu.mx/Takeyas/libro

19

Conferencia: “Diseño de clases genéricas en C# .NET”

Ing. Bruno López Takeyas, M.C.

Creación de los objetos de las listas

ClaseListaSimpleOrdenada<Empleado>

ListaEmpleados = new

ClaseListaSimpleOrdenada<Empleado>();

ClaseLis
  • Links de descarga
http://lwp-l.com/pdf15278

Comentarios de: Conferencia: Diseño de clases genéricas en C# .NET (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad