SlideShare a Scribd company logo
1 of 15
Download to read offline
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.

More Related Content

What's hot

What's hot (20)

O Gato E O Rato
O Gato E O RatoO Gato E O Rato
O Gato E O Rato
 
UG- CERTIFICATE- ANNA- UNIV- CHENNAI
UG- CERTIFICATE- ANNA- UNIV- CHENNAIUG- CERTIFICATE- ANNA- UNIV- CHENNAI
UG- CERTIFICATE- ANNA- UNIV- CHENNAI
 
Viva a diferença com a turma da mônica
Viva a diferença com a turma da mônicaViva a diferença com a turma da mônica
Viva a diferença com a turma da mônica
 
Java - Exception Handling Concepts
Java - Exception Handling ConceptsJava - Exception Handling Concepts
Java - Exception Handling Concepts
 
Quando nasce um Monstro
Quando nasce um MonstroQuando nasce um Monstro
Quando nasce um Monstro
 
Exception handling in python
Exception handling in pythonException handling in python
Exception handling in python
 
Polymorphism presentation in java
Polymorphism presentation in javaPolymorphism presentation in java
Polymorphism presentation in java
 
Destrava línguas
Destrava   línguasDestrava   línguas
Destrava línguas
 
Quran with urdu translation and Tafseer | Para 20
Quran with urdu translation and Tafseer | Para 20Quran with urdu translation and Tafseer | Para 20
Quran with urdu translation and Tafseer | Para 20
 
Beleléu e os números
Beleléu e os númerosBeleléu e os números
Beleléu e os números
 
A dieta do Pai Natal
A dieta do Pai NatalA dieta do Pai Natal
A dieta do Pai Natal
 
150 receitas Bimby (melhores de 2014)
150 receitas Bimby (melhores de 2014)150 receitas Bimby (melhores de 2014)
150 receitas Bimby (melhores de 2014)
 
20.3 Java encapsulation
20.3 Java encapsulation20.3 Java encapsulation
20.3 Java encapsulation
 
Suzuki viola vol 1
Suzuki viola vol 1Suzuki viola vol 1
Suzuki viola vol 1
 
Colour nativity-copy (1)
Colour nativity-copy (1)Colour nativity-copy (1)
Colour nativity-copy (1)
 
Dona baratinha
Dona baratinhaDona baratinha
Dona baratinha
 
HUET CERTIFICATE
HUET CERTIFICATEHUET CERTIFICATE
HUET CERTIFICATE
 
Quem procura, acha
Quem procura, achaQuem procura, acha
Quem procura, acha
 
C# Types of classes
C# Types of classesC# Types of classes
C# Types of classes
 
Cae practice tests
Cae practice testsCae practice tests
Cae practice tests
 

Similar to Enums, constantes, listas e interfaces

Similar to 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
 

More from 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
 

More from 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
 
02 curso poo Clase - Objeto
02 curso poo Clase - Objeto02 curso poo Clase - Objeto
02 curso poo Clase - Objeto
 
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
 

Recently uploaded

Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
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
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
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
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
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
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscaeliseo91
 

Recently uploaded (20)

Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
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
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
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.
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
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...
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
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
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
la unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fiscala unidad de s sesion edussssssssssssssscacio fisca
la unidad de s sesion edussssssssssssssscacio fisca
 

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.