SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
holamundo.co
_ amando
O
O
P
0
5
progra
Agenda
Constantes
Enums
Modificador - protected
List
Interface
Constantes
Son valores inmutables que no cambian durante la ejecución del pro-
grama y se conocen en tiempo de compilación. Las constantes son
declaradas con el modificador const. Se debe asignar el valor de la con-
stante en el momendo de declaración.
Tipos definidos por el usuario como clases, arreglos, structs no pueden
ser una constante. Constantes son accedidas como si fueran campos es-
táticos por los el valor de una constante es el mismo para todas la in-
stancias del mismo tipo. Por tanto no se usa la palabra reservada static
para declararlas. Expresiones que no estan en la clase que define la con-
stante, debe usar el nombre de la clase, punto y el nombre de la con-
stante para acceder al valor.
public const int MESES = 12;
float impuesto = Constantes.IVA;
Clase Constante
enum Dias
{
Lunes,
Martes,
Miercoles,
Jueves,
Viernes,
Sabado,
Domingo
}
De forma predeterminada, los valores de
constante asociados de miembros de enu-
meración son del tipo int; comienzan con
cero y aumentan en uno después del
orden del texto de la definición.
Enums - enumeración
Un tipo de enumeración es un tipo de valor definido por un conjunto de
constantes con nombre del tipo numérico integral subyacente. Para
definir un tipo de enumeración, use la palabra clave enum y especifique
los nombres de miembros de enumeración
0
1
6
.
.
. Un tipo de enumeración se usa para repre-
sentar una opción de un conjunto de va-
lores mutuamente excluyentes o una com-
binación de opciones.
enum Estado{
Asignado,Descanso,Extra
}
enum Dias{
Lunes,Martes,Miercoles,Jueves,Viernes,Sabado,Domingo
}
Estado []agenda = new Estado[7];
agenda[(int)Dias.Martes] = Estado.Asignado;
agenda[(int)Dias.Sabado] = Estado.Extra;
agenda[(int)Dias.Domingo] = Estado.Descanso;
Console.Write($"El empleado el dia {Dias.Martes}”);
Console.WriteLine($”esta {agenda[(int)Dias.Martes]}");
El empleado el dia Martes esta Asignado
Se debe hacer un casting
de Dias a int
Se definen por fuera de
la clase
Enums - ejemplo
En el siguiente ejemplo, se definen el estado de cada día de la semana
de la agenda de una persona.
Modificador
protected
La palabra protected es
un modificador de acceso
de miembro, es una pal-
abra reservada.
Un miembro protegido es
accesible dentro de su
clase y por parte de in-
stancias de clases hijas,
derivadas por herencia.
A
#variable:string
#Metodo():int
B
+UsarMetodo():void
Programa
Miembro dato
protected
Método
protected
Clase heredada que
puede usar los miembros
dato y métodos protegidos
Si una clase no hereda de A o B,
no puede usar miembros dato
o métodos protegidos.
+Main(args:cadena[]):void
¿Cómo se ve en código?
El modificador protected restringe el acceso solo a la misma clase o a
clases hijas, a continuación se observa un ejemplo de su uso.
public class A
{
protected string variable;
protected int Metodo(){
return 0;
}
}
public class B:A
{
public void UsarMetodo(){
Console.WriteLine(variable);
Console.WriteLine(Metodo());
}
}
Se puede acceder, por
la relación de herencia
B hereda de A
A obj1 = new A();
B obj2 = new B();
obj2.UsarMetodo();
obj1.variable;
obj1.Metodo();
A.variable is inaccessible due to its protection level
A.Metodo() is inaccessible due to its protection level
En el siguiente código, el cual puede ser escrito en la clase Main o en una
clase C que no tenga una relación directa con A o B, este seria el resulta-
do de intentar acceder a miembros dato o métodos.
B hereda de A, por tanto puede tener
un metodo “UsarMetodo” el cual
hace uso de la variable protegida y el
método protegido de A.
Si se intenta acceder a los miembros
de A, desde un contexto diferente a
una relación de herencia, el pro-
grama no compila.
Al momento de compilar...
List<T>
Es una estructura de datos dinámica, es decir que en tiempo de eje-
cución puede modificar su contenido, realizando diferentes opera-
ciones sobre los datos contenidos en ella. Se usa por lo general para
guardar objetos, sin embargo también puede guardar datos primitivos.
Any Type : Cualquier tipo
Galleta Galleta Galleta
Instancias de Galleta
Fin
Count = 3
Es posible
insertar al final,
en el medio o al
inicio, solo se
debe especificar
la posición
Inicio
No hay longitud fija
0 1 2
using System.Collections.Generic;
List<string> frutas;
frutas = new List<string>();
List<T> - Configuración
Las listas no esta disponibles por defecto, para poderlas usar se debe
importar el respectivo namespace, agregue la siguiente línea al princip-
io de la clase, por fuera de su definición.
Se declara la lista y se define el tipo (T) de datos que se almacenaran en
la lista, este valor puede ser incluso objetos definidos por el usuario.
Finalmente se inicializa la lista, creando una nueva instancia, en este
momento la lista se encuentra sin elementos.
List<T> - Métodos
Lo importante de esta estructura es su versatilidad de uso, su flexibilidad
y comportamientos preestablecidos definidos en funciones, a continu-
ación estudiaremos algunos de ellos.
frutas.Add(”Manzana”);
Console.WriteLine(frutas[3]);
Console.WriteLine(frutas.Count);
Agrega elementos al final de la lista
Agrega un array al final de la lista
Recorre cada uno de los nodos de la lista
El indice se puede usar para obtener un elemento específico
de la lista, en este caso Mango.
string[] nuevas_frutas = { "Pera", "Mora", "Mango" };
frutas.AddRange(nuevas_frutas);
foreach (string f in frutas){
Console.WriteLine(f);
}
Esta es una propiedad que obtiene la cantidad de
elementos actualmente en la lista
Interface - Definición
Es un tipo de clase, donde se define un contrato, que indica el comporta-
miento y/o propiedades, que las clases que implementan dicho contra-
to estan obligadas a cumplir, es decir lo que dicta el contrato. Es una
plantilla donde los miembros del contrato son declarados. La interface
es un concepto abstracto, no confundir con UI (user interface).
<<Interface>>
IEmpacar
+peso:float
+Empacar():void
Paquete
+Cerrar():void
+Abrir():void
+Empacar():void
Interface, con un
miembro dato y
un método
Clase que implementa
la interface, debe cumplir
con el contrato
<<implementa>>
+peso:float
La interface se nombra con la letra I mayuscula antes del nombre,
los métodos solo tienen la firma, sin implementación.
Interface - Sintaxis
public class Empaque:IEmpacar{
public float peso{ get; set; }
public void Empacar(){
//Cuerpo
}
}
Método sin implementación
La I, se usa para diferencia la
implementación de una interfaz
de la herencia
Método concreto, donde
se realiza la implementación
del código
interface IEmpacar {
public float peso{ get; set; }
public void Empacar();
}
Definición de la interface, con un miembro dato y un método, observe
que solo se define la firma de la función.
Implementación de la interface
Reglas crear una Interface
2
3
4
5
6
Identificar propiedades o métodos
Crear una interface y asignar variables y firma de métodos
Incluir la letra I en el nombre para identificar la interface
Crear una clase concreta, que implemente la interfaz
Defina las variables y defina los métodos concretos
Cree instancias de la clase y use los miembros concretos
Una clase puede implementar múltiples interfaces
1
Interface - Implementación
interface IBonus{
public void Descripcion(int id);
}
public class Empaque:IEmpacar,Ibonus{
public float peso{ get; set; }
public void Empacar(){
//Cuerpo
}
public void Descripcion(int id){
//Cuerpo
return 0;
}
}
Se pueden implementar múltiples
interfaces, pero heredar de una única
clase padre. Cada nueva implementación
de interface, se indica con una coma
seguido del nombre de la siguiente
interface. No es posible crear instancias
de una interfaz.

Más contenido relacionado

La actualidad más candente

operators and expressions in c++
 operators and expressions in c++ operators and expressions in c++
operators and expressions in c++sanya6900
 
Access Modifier.pptx
Access Modifier.pptxAccess Modifier.pptx
Access Modifier.pptxMargaret Mary
 
Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.Whaleejaa Wha
 
Let's make a contract: the art of designing a Java API
Let's make a contract: the art of designing a Java APILet's make a contract: the art of designing a Java API
Let's make a contract: the art of designing a Java APIMario Fusco
 
Constructors in java
Constructors in javaConstructors in java
Constructors in javasunilchute1
 
Python Programming ADP VTU CSE 18CS55 Module 2 Chapter 4
Python Programming ADP VTU CSE 18CS55 Module 2 Chapter 4Python Programming ADP VTU CSE 18CS55 Module 2 Chapter 4
Python Programming ADP VTU CSE 18CS55 Module 2 Chapter 4Demian Antony DMello
 
Classes and objects
Classes and objectsClasses and objects
Classes and objectsNilesh Dalvi
 
Overloading and overriding in vb.net
Overloading and overriding in vb.netOverloading and overriding in vb.net
Overloading and overriding in vb.netsuraj pandey
 
Proyecto Poogame Blackjack
Proyecto Poogame BlackjackProyecto Poogame Blackjack
Proyecto Poogame BlackjackEPN
 
Lecture_7-Encapsulation in Java.pptx
Lecture_7-Encapsulation in Java.pptxLecture_7-Encapsulation in Java.pptx
Lecture_7-Encapsulation in Java.pptxShahinAhmed49
 
Investigacion sobre carga de metodos
Investigacion sobre carga de metodosInvestigacion sobre carga de metodos
Investigacion sobre carga de metodosArisRojas4
 
Polymorphism presentation in java
Polymorphism presentation in javaPolymorphism presentation in java
Polymorphism presentation in javaAhsan Raja
 
Bici Jungla - Investigación de producto
Bici Jungla - Investigación de productoBici Jungla - Investigación de producto
Bici Jungla - Investigación de productoAndrés Bedoya Tobón
 

La actualidad más candente (20)

Herencia y Casting
Herencia y CastingHerencia y Casting
Herencia y Casting
 
Elementos de programacion 02
Elementos de programacion 02Elementos de programacion 02
Elementos de programacion 02
 
Inheritance
InheritanceInheritance
Inheritance
 
operators and expressions in c++
 operators and expressions in c++ operators and expressions in c++
operators and expressions in c++
 
Access Modifier.pptx
Access Modifier.pptxAccess Modifier.pptx
Access Modifier.pptx
 
Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.Elementos básicos de la programación orientada a objetos.
Elementos básicos de la programación orientada a objetos.
 
Let's make a contract: the art of designing a Java API
Let's make a contract: the art of designing a Java APILet's make a contract: the art of designing a Java API
Let's make a contract: the art of designing a Java API
 
Constructors in java
Constructors in javaConstructors in java
Constructors in java
 
Python Programming ADP VTU CSE 18CS55 Module 2 Chapter 4
Python Programming ADP VTU CSE 18CS55 Module 2 Chapter 4Python Programming ADP VTU CSE 18CS55 Module 2 Chapter 4
Python Programming ADP VTU CSE 18CS55 Module 2 Chapter 4
 
Interfaces c#
Interfaces c#Interfaces c#
Interfaces c#
 
Classes and objects
Classes and objectsClasses and objects
Classes and objects
 
Overloading and overriding in vb.net
Overloading and overriding in vb.netOverloading and overriding in vb.net
Overloading and overriding in vb.net
 
Proyecto Poogame Blackjack
Proyecto Poogame BlackjackProyecto Poogame Blackjack
Proyecto Poogame Blackjack
 
Lecture_7-Encapsulation in Java.pptx
Lecture_7-Encapsulation in Java.pptxLecture_7-Encapsulation in Java.pptx
Lecture_7-Encapsulation in Java.pptx
 
Investigacion sobre carga de metodos
Investigacion sobre carga de metodosInvestigacion sobre carga de metodos
Investigacion sobre carga de metodos
 
Polymorphism presentation in java
Polymorphism presentation in javaPolymorphism presentation in java
Polymorphism presentation in java
 
C# Method overloading
C# Method overloadingC# Method overloading
C# Method overloading
 
Bici Jungla - Investigación de producto
Bici Jungla - Investigación de productoBici Jungla - Investigación de producto
Bici Jungla - Investigación de producto
 
Cuadernillo scratch 3
Cuadernillo scratch 3Cuadernillo scratch 3
Cuadernillo scratch 3
 
inheritance c++
inheritance c++inheritance c++
inheritance c++
 

Similar a Enums, constantes, listas e interfaces

Similar a Enums, constantes, listas e interfaces (20)

Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Java
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02
 
INTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVAINTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVA
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje java
 
Tutorial jared
Tutorial jaredTutorial jared
Tutorial jared
 
Trabajo tutorial de visual C++
Trabajo tutorial de visual C++Trabajo tutorial de visual C++
Trabajo tutorial de visual C++
 
Intro Java
Intro JavaIntro Java
Intro Java
 
Datos Previos
Datos PreviosDatos Previos
Datos Previos
 
Datos previos
Datos previosDatos previos
Datos previos
 
Datos Previos
Datos PreviosDatos Previos
Datos Previos
 
Sesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clasesSesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clases
 
8. técnicas de escritura de códigos
8. técnicas de escritura de códigos8. técnicas de escritura de códigos
8. técnicas de escritura de códigos
 
Programacion
ProgramacionProgramacion
Programacion
 
Constantes y variables enitmar
Constantes y variables enitmarConstantes y variables enitmar
Constantes y variables enitmar
 
Tipos de datos_para_c_(2)
Tipos de datos_para_c_(2)Tipos de datos_para_c_(2)
Tipos de datos_para_c_(2)
 
manual de C#
manual de C#manual de C#
manual de C#
 
Manual c# 2
Manual c# 2Manual c# 2
Manual c# 2
 
Manual de c#
Manual de c#Manual de c#
Manual de c#
 
Programación orientada a objetos con c++
Programación orientada a objetos con c++Programación orientada a objetos con c++
Programación orientada a objetos con c++
 
Mapa conceptual del contenido de la unidad 4
Mapa conceptual del contenido de la unidad 4Mapa conceptual del contenido de la unidad 4
Mapa conceptual del contenido de la unidad 4
 

Más de Andres Bedoya Tobon

Taller estudio - Estructuras de control VBA - Excel
Taller estudio - Estructuras de control VBA - ExcelTaller estudio - Estructuras de control VBA - Excel
Taller estudio - Estructuras de control VBA - ExcelAndres Bedoya Tobon
 
Entrada y salida, manejo de cadenas de texto
Entrada y salida, manejo de cadenas de textoEntrada y salida, manejo de cadenas de texto
Entrada y salida, manejo de cadenas de textoAndres Bedoya Tobon
 
Progra-Amando Medellin Tech Fest
Progra-Amando Medellin Tech FestProgra-Amando Medellin Tech Fest
Progra-Amando Medellin Tech FestAndres Bedoya Tobon
 
Excel - Variables y condicionales
Excel - Variables y condicionalesExcel - Variables y condicionales
Excel - Variables y condicionalesAndres Bedoya Tobon
 
Elementos de programacion - Excel
Elementos de programacion - ExcelElementos de programacion - Excel
Elementos de programacion - ExcelAndres Bedoya Tobon
 
Programación y diseño orientado a objetos
Programación y diseño orientado a objetosProgramación y diseño orientado a objetos
Programación y diseño orientado a objetosAndres Bedoya Tobon
 
Progra-amando <3 (Amor por la programación)
Progra-amando <3 (Amor por la programación)Progra-amando <3 (Amor por la programación)
Progra-amando <3 (Amor por la programación)Andres Bedoya Tobon
 
Presentación 13 Paso por referencia
Presentación 13 Paso por referenciaPresentación 13 Paso por referencia
Presentación 13 Paso por referenciaAndres Bedoya Tobon
 
Presentación 11 Entrada y salida de datos
Presentación 11 Entrada y salida de datosPresentación 11 Entrada y salida de datos
Presentación 11 Entrada y salida de datosAndres Bedoya Tobon
 

Más de Andres Bedoya Tobon (20)

VBA Interfaz de usuario
VBA Interfaz de usuarioVBA Interfaz de usuario
VBA Interfaz de usuario
 
VBA Interfaz de usuario
VBA Interfaz de usuarioVBA Interfaz de usuario
VBA Interfaz de usuario
 
Taller estudio - Estructuras de control VBA - Excel
Taller estudio - Estructuras de control VBA - ExcelTaller estudio - Estructuras de control VBA - Excel
Taller estudio - Estructuras de control VBA - Excel
 
Entrada y salida, manejo de cadenas de texto
Entrada y salida, manejo de cadenas de textoEntrada y salida, manejo de cadenas de texto
Entrada y salida, manejo de cadenas de texto
 
Progra-Amando Medellin Tech Fest
Progra-Amando Medellin Tech FestProgra-Amando Medellin Tech Fest
Progra-Amando Medellin Tech Fest
 
Excel - Variables y condicionales
Excel - Variables y condicionalesExcel - Variables y condicionales
Excel - Variables y condicionales
 
Excel - Macros
Excel - MacrosExcel - Macros
Excel - Macros
 
Taller de estudio - Excel
Taller de estudio - ExcelTaller de estudio - Excel
Taller de estudio - Excel
 
Elementos de programacion - Excel
Elementos de programacion - ExcelElementos de programacion - Excel
Elementos de programacion - Excel
 
Automatizar tareas usando GAP
Automatizar tareas usando GAPAutomatizar tareas usando GAP
Automatizar tareas usando GAP
 
Pull request - Hacktoberfest
Pull request - Hacktoberfest Pull request - Hacktoberfest
Pull request - Hacktoberfest
 
Abc tipografico Medellin CSS
Abc tipografico Medellin CSSAbc tipografico Medellin CSS
Abc tipografico Medellin CSS
 
Programación y diseño orientado a objetos
Programación y diseño orientado a objetosProgramación y diseño orientado a objetos
Programación y diseño orientado a objetos
 
Clean code
Clean codeClean code
Clean code
 
Progra-amando <3 (Amor por la programación)
Progra-amando <3 (Amor por la programación)Progra-amando <3 (Amor por la programación)
Progra-amando <3 (Amor por la programación)
 
Presentación 13 Paso por referencia
Presentación 13 Paso por referenciaPresentación 13 Paso por referencia
Presentación 13 Paso por referencia
 
Presentación 12 Paso por copia
Presentación 12 Paso por copiaPresentación 12 Paso por copia
Presentación 12 Paso por copia
 
Presentación 11 Entrada y salida de datos
Presentación 11 Entrada y salida de datosPresentación 11 Entrada y salida de datos
Presentación 11 Entrada y salida de datos
 
Presentación 09 Cajas blanca
Presentación 09 Cajas blancaPresentación 09 Cajas blanca
Presentación 09 Cajas blanca
 
Presentación 10 Cajas negras
Presentación 10 Cajas negrasPresentación 10 Cajas negras
Presentación 10 Cajas negras
 

Último

UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024AndreRiva2
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 

Último (20)

UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 

Enums, constantes, listas e interfaces

  • 3. Constantes Son valores inmutables que no cambian durante la ejecución del pro- grama y se conocen en tiempo de compilación. Las constantes son declaradas con el modificador const. Se debe asignar el valor de la con- stante en el momendo de declaración. Tipos definidos por el usuario como clases, arreglos, structs no pueden ser una constante. Constantes son accedidas como si fueran campos es- táticos por los el valor de una constante es el mismo para todas la in- stancias del mismo tipo. Por tanto no se usa la palabra reservada static para declararlas. Expresiones que no estan en la clase que define la con- stante, debe usar el nombre de la clase, punto y el nombre de la con- stante para acceder al valor. public const int MESES = 12; float impuesto = Constantes.IVA; Clase Constante
  • 4. enum Dias { Lunes, Martes, Miercoles, Jueves, Viernes, Sabado, Domingo } De forma predeterminada, los valores de constante asociados de miembros de enu- meración son del tipo int; comienzan con cero y aumentan en uno después del orden del texto de la definición. Enums - enumeración Un tipo de enumeración es un tipo de valor definido por un conjunto de constantes con nombre del tipo numérico integral subyacente. Para definir un tipo de enumeración, use la palabra clave enum y especifique los nombres de miembros de enumeración 0 1 6 . . . Un tipo de enumeración se usa para repre- sentar una opción de un conjunto de va- lores mutuamente excluyentes o una com- binación de opciones.
  • 5. enum Estado{ Asignado,Descanso,Extra } enum Dias{ Lunes,Martes,Miercoles,Jueves,Viernes,Sabado,Domingo } Estado []agenda = new Estado[7]; agenda[(int)Dias.Martes] = Estado.Asignado; agenda[(int)Dias.Sabado] = Estado.Extra; agenda[(int)Dias.Domingo] = Estado.Descanso; Console.Write($"El empleado el dia {Dias.Martes}”); Console.WriteLine($”esta {agenda[(int)Dias.Martes]}"); El empleado el dia Martes esta Asignado Se debe hacer un casting de Dias a int Se definen por fuera de la clase Enums - ejemplo En el siguiente ejemplo, se definen el estado de cada día de la semana de la agenda de una persona.
  • 6. Modificador protected La palabra protected es un modificador de acceso de miembro, es una pal- abra reservada. Un miembro protegido es accesible dentro de su clase y por parte de in- stancias de clases hijas, derivadas por herencia. A #variable:string #Metodo():int B +UsarMetodo():void Programa Miembro dato protected Método protected Clase heredada que puede usar los miembros dato y métodos protegidos Si una clase no hereda de A o B, no puede usar miembros dato o métodos protegidos. +Main(args:cadena[]):void
  • 7. ¿Cómo se ve en código? El modificador protected restringe el acceso solo a la misma clase o a clases hijas, a continuación se observa un ejemplo de su uso. public class A { protected string variable; protected int Metodo(){ return 0; } } public class B:A { public void UsarMetodo(){ Console.WriteLine(variable); Console.WriteLine(Metodo()); } } Se puede acceder, por la relación de herencia B hereda de A
  • 8. A obj1 = new A(); B obj2 = new B(); obj2.UsarMetodo(); obj1.variable; obj1.Metodo(); A.variable is inaccessible due to its protection level A.Metodo() is inaccessible due to its protection level En el siguiente código, el cual puede ser escrito en la clase Main o en una clase C que no tenga una relación directa con A o B, este seria el resulta- do de intentar acceder a miembros dato o métodos. B hereda de A, por tanto puede tener un metodo “UsarMetodo” el cual hace uso de la variable protegida y el método protegido de A. Si se intenta acceder a los miembros de A, desde un contexto diferente a una relación de herencia, el pro- grama no compila. Al momento de compilar...
  • 9. List<T> Es una estructura de datos dinámica, es decir que en tiempo de eje- cución puede modificar su contenido, realizando diferentes opera- ciones sobre los datos contenidos en ella. Se usa por lo general para guardar objetos, sin embargo también puede guardar datos primitivos. Any Type : Cualquier tipo Galleta Galleta Galleta Instancias de Galleta Fin Count = 3 Es posible insertar al final, en el medio o al inicio, solo se debe especificar la posición Inicio No hay longitud fija 0 1 2
  • 10. using System.Collections.Generic; List<string> frutas; frutas = new List<string>(); List<T> - Configuración Las listas no esta disponibles por defecto, para poderlas usar se debe importar el respectivo namespace, agregue la siguiente línea al princip- io de la clase, por fuera de su definición. Se declara la lista y se define el tipo (T) de datos que se almacenaran en la lista, este valor puede ser incluso objetos definidos por el usuario. Finalmente se inicializa la lista, creando una nueva instancia, en este momento la lista se encuentra sin elementos.
  • 11. List<T> - Métodos Lo importante de esta estructura es su versatilidad de uso, su flexibilidad y comportamientos preestablecidos definidos en funciones, a continu- ación estudiaremos algunos de ellos. frutas.Add(”Manzana”); Console.WriteLine(frutas[3]); Console.WriteLine(frutas.Count); Agrega elementos al final de la lista Agrega un array al final de la lista Recorre cada uno de los nodos de la lista El indice se puede usar para obtener un elemento específico de la lista, en este caso Mango. string[] nuevas_frutas = { "Pera", "Mora", "Mango" }; frutas.AddRange(nuevas_frutas); foreach (string f in frutas){ Console.WriteLine(f); } Esta es una propiedad que obtiene la cantidad de elementos actualmente en la lista
  • 12. Interface - Definición Es un tipo de clase, donde se define un contrato, que indica el comporta- miento y/o propiedades, que las clases que implementan dicho contra- to estan obligadas a cumplir, es decir lo que dicta el contrato. Es una plantilla donde los miembros del contrato son declarados. La interface es un concepto abstracto, no confundir con UI (user interface). <<Interface>> IEmpacar +peso:float +Empacar():void Paquete +Cerrar():void +Abrir():void +Empacar():void Interface, con un miembro dato y un método Clase que implementa la interface, debe cumplir con el contrato <<implementa>> +peso:float La interface se nombra con la letra I mayuscula antes del nombre, los métodos solo tienen la firma, sin implementación.
  • 13. Interface - Sintaxis public class Empaque:IEmpacar{ public float peso{ get; set; } public void Empacar(){ //Cuerpo } } Método sin implementación La I, se usa para diferencia la implementación de una interfaz de la herencia Método concreto, donde se realiza la implementación del código interface IEmpacar { public float peso{ get; set; } public void Empacar(); } Definición de la interface, con un miembro dato y un método, observe que solo se define la firma de la función. Implementación de la interface
  • 14. Reglas crear una Interface 2 3 4 5 6 Identificar propiedades o métodos Crear una interface y asignar variables y firma de métodos Incluir la letra I en el nombre para identificar la interface Crear una clase concreta, que implemente la interfaz Defina las variables y defina los métodos concretos Cree instancias de la clase y use los miembros concretos Una clase puede implementar múltiples interfaces 1
  • 15. Interface - Implementación interface IBonus{ public void Descripcion(int id); } public class Empaque:IEmpacar,Ibonus{ public float peso{ get; set; } public void Empacar(){ //Cuerpo } public void Descripcion(int id){ //Cuerpo return 0; } } Se pueden implementar múltiples interfaces, pero heredar de una única clase padre. Cada nueva implementación de interface, se indica con una coma seguido del nombre de la siguiente interface. No es posible crear instancias de una interfaz.