SlideShare une entreprise Scribd logo
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.

Contenu connexe

Tendances

Data Types, Variables, and Arrays in JAVA
Data Types, Variables, and Arrays in JAVAData Types, Variables, and Arrays in JAVA
Data Types, Variables, and Arrays in JAVA
Demian Antony DMello
 
Inheritance in JAVA
Inheritance in JAVAInheritance in JAVA
Inheritance in JAVA
Demian Antony DMello
 
Zagor LUDSP 12 Prokleto blago
Zagor LUDSP 12 Prokleto blagoZagor LUDSP 12 Prokleto blago
Zagor LUDSP 12 Prokleto blago
Stripovizijacom
 
Witch 61
Witch 61Witch 61
Zagor - Crni plamen (VČ S 01)
Zagor - Crni plamen (VČ S 01)Zagor - Crni plamen (VČ S 01)
Zagor - Crni plamen (VČ S 01)
StripovizijaStripovi
 
Quran with Tajwid Surah 95 ﴾القرآن سورۃ التين﴿ At-Teen 🙪 PDF
Quran with Tajwid Surah 95 ﴾القرآن سورۃ التين﴿ At-Teen 🙪 PDFQuran with Tajwid Surah 95 ﴾القرآن سورۃ التين﴿ At-Teen 🙪 PDF
Quran with Tajwid Surah 95 ﴾القرآن سورۃ التين﴿ At-Teen 🙪 PDF
Caller To Islam / الداعية الإسلامي
 
0003. Konjanici Smrti
0003. Konjanici Smrti0003. Konjanici Smrti
0003. Konjanici SmrtiTompa *
 
Zagor Ludens 256 - Izgubljeni svijet
Zagor Ludens 256 - Izgubljeni svijetZagor Ludens 256 - Izgubljeni svijet
Zagor Ludens 256 - Izgubljeni svijet
StripovizijaStripovi
 
Witch #14
Witch #14Witch #14
Herencia y Casting
Herencia y CastingHerencia y Casting
Herencia y Casting
Andres Bedoya Tobon
 
Zagor Ludens 218 - Ljudi i vukovi
Zagor Ludens  218 - Ljudi i vukoviZagor Ludens  218 - Ljudi i vukovi
Zagor Ludens 218 - Ljudi i vukovi
Stripovizijacom
 
Introducing Classes in JAVA
Introducing Classes in JAVAIntroducing Classes in JAVA
Introducing Classes in JAVA
Demian Antony DMello
 
TF2007.OMP.01
TF2007.OMP.01TF2007.OMP.01
TF2007.OMP.01
Arcee327
 
ตำนานเทพปรมาจารย์
ตำนานเทพปรมาจารย์ตำนานเทพปรมาจารย์
ตำนานเทพปรมาจารย์sornblog2u
 
TTF.MTMTE.05
TTF.MTMTE.05TTF.MTMTE.05
TTF.MTMTE.05
Arcee327
 
Witch #52
Witch #52Witch #52
Quran with Tajwid Surah 57 ﴾القرآن سورۃ الحديد﴿ Al-Hadid 🙪 PDF
Quran with Tajwid Surah 57 ﴾القرآن سورۃ الحديد﴿ Al-Hadid 🙪 PDFQuran with Tajwid Surah 57 ﴾القرآن سورۃ الحديد﴿ Al-Hadid 🙪 PDF
Quran with Tajwid Surah 57 ﴾القرآن سورۃ الحديد﴿ Al-Hadid 🙪 PDF
Caller To Islam / الداعية الإسلامي
 
TTF.MTMTE.04
TTF.MTMTE.04TTF.MTMTE.04
TTF.MTMTE.04
Arcee327
 
Manga Nozoki Ana Tomo 2
Manga Nozoki Ana Tomo 2Manga Nozoki Ana Tomo 2
Manga Nozoki Ana Tomo 2
Kuroe
 
Ahsan Ul-Qawaid
Ahsan Ul-QawaidAhsan Ul-Qawaid
Ahsan Ul-Qawaid
Zaid Ahmad
 

Tendances (20)

Data Types, Variables, and Arrays in JAVA
Data Types, Variables, and Arrays in JAVAData Types, Variables, and Arrays in JAVA
Data Types, Variables, and Arrays in JAVA
 
Inheritance in JAVA
Inheritance in JAVAInheritance in JAVA
Inheritance in JAVA
 
Zagor LUDSP 12 Prokleto blago
Zagor LUDSP 12 Prokleto blagoZagor LUDSP 12 Prokleto blago
Zagor LUDSP 12 Prokleto blago
 
Witch 61
Witch 61Witch 61
Witch 61
 
Zagor - Crni plamen (VČ S 01)
Zagor - Crni plamen (VČ S 01)Zagor - Crni plamen (VČ S 01)
Zagor - Crni plamen (VČ S 01)
 
Quran with Tajwid Surah 95 ﴾القرآن سورۃ التين﴿ At-Teen 🙪 PDF
Quran with Tajwid Surah 95 ﴾القرآن سورۃ التين﴿ At-Teen 🙪 PDFQuran with Tajwid Surah 95 ﴾القرآن سورۃ التين﴿ At-Teen 🙪 PDF
Quran with Tajwid Surah 95 ﴾القرآن سورۃ التين﴿ At-Teen 🙪 PDF
 
0003. Konjanici Smrti
0003. Konjanici Smrti0003. Konjanici Smrti
0003. Konjanici Smrti
 
Zagor Ludens 256 - Izgubljeni svijet
Zagor Ludens 256 - Izgubljeni svijetZagor Ludens 256 - Izgubljeni svijet
Zagor Ludens 256 - Izgubljeni svijet
 
Witch #14
Witch #14Witch #14
Witch #14
 
Herencia y Casting
Herencia y CastingHerencia y Casting
Herencia y Casting
 
Zagor Ludens 218 - Ljudi i vukovi
Zagor Ludens  218 - Ljudi i vukoviZagor Ludens  218 - Ljudi i vukovi
Zagor Ludens 218 - Ljudi i vukovi
 
Introducing Classes in JAVA
Introducing Classes in JAVAIntroducing Classes in JAVA
Introducing Classes in JAVA
 
TF2007.OMP.01
TF2007.OMP.01TF2007.OMP.01
TF2007.OMP.01
 
ตำนานเทพปรมาจารย์
ตำนานเทพปรมาจารย์ตำนานเทพปรมาจารย์
ตำนานเทพปรมาจารย์
 
TTF.MTMTE.05
TTF.MTMTE.05TTF.MTMTE.05
TTF.MTMTE.05
 
Witch #52
Witch #52Witch #52
Witch #52
 
Quran with Tajwid Surah 57 ﴾القرآن سورۃ الحديد﴿ Al-Hadid 🙪 PDF
Quran with Tajwid Surah 57 ﴾القرآن سورۃ الحديد﴿ Al-Hadid 🙪 PDFQuran with Tajwid Surah 57 ﴾القرآن سورۃ الحديد﴿ Al-Hadid 🙪 PDF
Quran with Tajwid Surah 57 ﴾القرآن سورۃ الحديد﴿ Al-Hadid 🙪 PDF
 
TTF.MTMTE.04
TTF.MTMTE.04TTF.MTMTE.04
TTF.MTMTE.04
 
Manga Nozoki Ana Tomo 2
Manga Nozoki Ana Tomo 2Manga Nozoki Ana Tomo 2
Manga Nozoki Ana Tomo 2
 
Ahsan Ul-Qawaid
Ahsan Ul-QawaidAhsan Ul-Qawaid
Ahsan Ul-Qawaid
 

Similaire à Enums, constantes, listas e interfaces

Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Java
maeusogo
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje java
Margarita Romero
 
2introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate022introduccionallenguajejava 141109171757-conversion-gate02
2introduccionallenguajejava 141109171757-conversion-gate02
Krizztiina Pacheko
 
INTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVAINTRODUCCION LENGUAJE JAVA
INTRODUCCION LENGUAJE JAVA
Karla Estefania Villanueva Epigmenio
 
Tutorial jared
Tutorial jaredTutorial jared
Tutorial jared
HUGOJAREDSANCHEZMARTINEZ
 
Trabajo tutorial de visual C++
Trabajo tutorial de visual C++Trabajo tutorial de visual C++
Trabajo tutorial de visual C++
Bryangio2002
 
Intro Java
Intro JavaIntro Java
Intro Java
Stefano Salvatori
 
Datos Previos
Datos PreviosDatos Previos
Datos Previos
Luiggi Inga Barboza
 
Datos Previos
Datos PreviosDatos Previos
Datos Previos
Luiggi Inga Barboza
 
Datos previos
Datos previosDatos previos
Datos previos
Luiggi Inga Barboza
 
Sesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clasesSesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clases
ecodereck
 
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
HectorMamani
 
Programacion
ProgramacionProgramacion
Programacion
michaelascanio
 
Constantes y variables enitmar
Constantes y variables enitmarConstantes y variables enitmar
Constantes y variables enitmar
La Morena Guariqueña
 
Tipos de datos_para_c_(2)
Tipos de datos_para_c_(2)Tipos de datos_para_c_(2)
Tipos de datos_para_c_(2)
ramosmendezshura
 
manual de C#
manual de C#manual de C#
manual de C#
Brendita Martinez
 
Manual c# 2
Manual c# 2Manual c# 2
Manual c# 2
Elizabeth Reyna
 
Manual de c#
Manual de c#Manual de c#
Manual de c#
Ana Ruth G H
 
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++
Karime Hernández
 
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
K Manuel TN
 

Similaire à Enums, constantes, listas e interfaces (20)

Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Java
 
2) introduccion al lenguaje java
2) introduccion al lenguaje java2) introduccion al lenguaje java
2) introduccion al lenguaje 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
 
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
 

Plus de Andres Bedoya Tobon

VBA Interfaz de usuario
VBA Interfaz de usuarioVBA Interfaz de usuario
VBA Interfaz de usuario
Andres Bedoya Tobon
 
VBA Interfaz de usuario
VBA Interfaz de usuarioVBA Interfaz de usuario
VBA Interfaz de usuario
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 - Excel
Andres 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 texto
Andres Bedoya Tobon
 
Progra-Amando Medellin Tech Fest
Progra-Amando Medellin Tech FestProgra-Amando Medellin Tech Fest
Progra-Amando Medellin Tech Fest
Andres Bedoya Tobon
 
04 curso poo Herencia
04 curso poo Herencia04 curso poo Herencia
04 curso poo Herencia
Andres Bedoya Tobon
 
03 curso poo Valores por defecto - constructores
03 curso poo Valores por defecto - constructores03 curso poo Valores por defecto - constructores
03 curso poo Valores por defecto - constructores
Andres Bedoya Tobon
 
01 curso poo Funciones
01 curso poo Funciones01 curso poo Funciones
01 curso poo Funciones
Andres Bedoya Tobon
 
Excel - Variables y condicionales
Excel - Variables y condicionalesExcel - Variables y condicionales
Excel - Variables y condicionales
Andres Bedoya Tobon
 
Excel - Macros
Excel - MacrosExcel - Macros
Excel - Macros
Andres Bedoya Tobon
 
Elementos de programacion 02
Elementos de programacion 02Elementos de programacion 02
Elementos de programacion 02
Andres Bedoya Tobon
 
Taller de estudio - Excel
Taller de estudio - ExcelTaller de estudio - Excel
Taller de estudio - Excel
Andres Bedoya Tobon
 
Elementos de programacion - Excel
Elementos de programacion - ExcelElementos de programacion - Excel
Elementos de programacion - Excel
Andres Bedoya Tobon
 
Automatizar tareas usando GAP
Automatizar tareas usando GAPAutomatizar tareas usando GAP
Automatizar tareas usando GAP
Andres Bedoya Tobon
 
Pull request - Hacktoberfest
Pull request - Hacktoberfest Pull request - Hacktoberfest
Pull request - Hacktoberfest
Andres Bedoya Tobon
 
Abc tipografico Medellin CSS
Abc tipografico Medellin CSSAbc tipografico Medellin CSS
Abc tipografico Medellin CSS
Andres 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 objetos
Andres Bedoya Tobon
 
Clean code
Clean codeClean 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)
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 referencia
Andres Bedoya Tobon
 

Plus 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
 
04 curso poo Herencia
04 curso poo Herencia04 curso poo Herencia
04 curso poo Herencia
 
03 curso poo Valores por defecto - constructores
03 curso poo Valores por defecto - constructores03 curso poo Valores por defecto - constructores
03 curso poo Valores por defecto - constructores
 
01 curso poo Funciones
01 curso poo Funciones01 curso poo Funciones
01 curso poo Funciones
 
Excel - Variables y condicionales
Excel - Variables y condicionalesExcel - Variables y condicionales
Excel - Variables y condicionales
 
Excel - Macros
Excel - MacrosExcel - Macros
Excel - Macros
 
Elementos de programacion 02
Elementos de programacion 02Elementos de programacion 02
Elementos de programacion 02
 
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
 

Dernier

p4s.co Ecosistema de Ecosistemas - Diagrama.pdf
p4s.co Ecosistema de Ecosistemas - Diagrama.pdfp4s.co Ecosistema de Ecosistemas - Diagrama.pdf
p4s.co Ecosistema de Ecosistemas - Diagrama.pdf
DavidCamiloMosquera
 
Vida, obra y pensamiento de Kant I24.ppt
Vida, obra y pensamiento de Kant I24.pptVida, obra y pensamiento de Kant I24.ppt
Vida, obra y pensamiento de Kant I24.ppt
LinoLatella
 
Los Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres VivosLos Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres Vivos
karlafreire0608
 
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Juan Martín Martín
 
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBALMATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
Ana Fernandez
 
Camus, Albert - El Extranjero.pdf
Camus, Albert -        El Extranjero.pdfCamus, Albert -        El Extranjero.pdf
Camus, Albert - El Extranjero.pdf
AlexDeLonghi
 
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIACONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
ginnazamudio
 
DESARROLLO DE LAS RELACIONES CON LOS STAKEHOLDERS.pdf
DESARROLLO DE LAS RELACIONES CON LOS STAKEHOLDERS.pdfDESARROLLO DE LAS RELACIONES CON LOS STAKEHOLDERS.pdf
DESARROLLO DE LAS RELACIONES CON LOS STAKEHOLDERS.pdf
JonathanCovena1
 
3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
rosannatasaycoyactay
 
Este documento contiene, el programa completo de un acto para realizar la pro...
Este documento contiene, el programa completo de un acto para realizar la pro...Este documento contiene, el programa completo de un acto para realizar la pro...
Este documento contiene, el programa completo de un acto para realizar la pro...
romina395894
 
200. Efemerides junio para trabajar en periodico mural
200. Efemerides junio para trabajar en periodico mural200. Efemerides junio para trabajar en periodico mural
200. Efemerides junio para trabajar en periodico mural
shirherrer
 
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
JAVIER SOLIS NOYOLA
 
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdfCronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
RicardoValdiviaVega
 
MATERIAL ESCOLAR 2024-2025. 4 AÑOS CEIP SAN CRISTOBAL
MATERIAL ESCOLAR 2024-2025. 4 AÑOS CEIP SAN CRISTOBALMATERIAL ESCOLAR 2024-2025. 4 AÑOS CEIP SAN CRISTOBAL
MATERIAL ESCOLAR 2024-2025. 4 AÑOS CEIP SAN CRISTOBAL
Ana Fernandez
 
La vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primariaLa vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primaria
EricaCouly1
 
1° T3 Examen Mtro JP 23-24.pdf completos
1° T3 Examen Mtro JP 23-24.pdf completos1° T3 Examen Mtro JP 23-24.pdf completos
1° T3 Examen Mtro JP 23-24.pdf completos
ROCIORUIZQUEZADA
 
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdfCompartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
JimmyDeveloperWebAnd
 
Prueba/test conoce tus heridas de la infancia
Prueba/test conoce tus heridas de la infanciaPrueba/test conoce tus heridas de la infancia
Prueba/test conoce tus heridas de la infancia
LudmilaOrtega3
 
efemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptxefemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptx
acgtz913
 

Dernier (20)

p4s.co Ecosistema de Ecosistemas - Diagrama.pdf
p4s.co Ecosistema de Ecosistemas - Diagrama.pdfp4s.co Ecosistema de Ecosistemas - Diagrama.pdf
p4s.co Ecosistema de Ecosistemas - Diagrama.pdf
 
Vida, obra y pensamiento de Kant I24.ppt
Vida, obra y pensamiento de Kant I24.pptVida, obra y pensamiento de Kant I24.ppt
Vida, obra y pensamiento de Kant I24.ppt
 
Los Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres VivosLos Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres Vivos
 
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
Soluciones Examen de Selectividad. Geografía junio 2024 (Convocatoria Ordinar...
 
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBALMATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
 
Camus, Albert - El Extranjero.pdf
Camus, Albert -        El Extranjero.pdfCamus, Albert -        El Extranjero.pdf
Camus, Albert - El Extranjero.pdf
 
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIACONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
CONTENIDOS Y PDA DE LA FASE 3,4 Y 5 EN NIVEL PRIMARIA
 
DESARROLLO DE LAS RELACIONES CON LOS STAKEHOLDERS.pdf
DESARROLLO DE LAS RELACIONES CON LOS STAKEHOLDERS.pdfDESARROLLO DE LAS RELACIONES CON LOS STAKEHOLDERS.pdf
DESARROLLO DE LAS RELACIONES CON LOS STAKEHOLDERS.pdf
 
3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx3° SES COMU LUN10  CUENTO DIA DEL PADRE  933623393 PROF YESSENIA (1).docx
3° SES COMU LUN10 CUENTO DIA DEL PADRE 933623393 PROF YESSENIA (1).docx
 
A VISITA DO SENHOR BISPO .
A VISITA DO SENHOR BISPO                .A VISITA DO SENHOR BISPO                .
A VISITA DO SENHOR BISPO .
 
Este documento contiene, el programa completo de un acto para realizar la pro...
Este documento contiene, el programa completo de un acto para realizar la pro...Este documento contiene, el programa completo de un acto para realizar la pro...
Este documento contiene, el programa completo de un acto para realizar la pro...
 
200. Efemerides junio para trabajar en periodico mural
200. Efemerides junio para trabajar en periodico mural200. Efemerides junio para trabajar en periodico mural
200. Efemerides junio para trabajar en periodico mural
 
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...
 
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdfCronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
Cronica-de-una-Muerte-Anunciada - Gabriel Garcia Marquez.pdf
 
MATERIAL ESCOLAR 2024-2025. 4 AÑOS CEIP SAN CRISTOBAL
MATERIAL ESCOLAR 2024-2025. 4 AÑOS CEIP SAN CRISTOBALMATERIAL ESCOLAR 2024-2025. 4 AÑOS CEIP SAN CRISTOBAL
MATERIAL ESCOLAR 2024-2025. 4 AÑOS CEIP SAN CRISTOBAL
 
La vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primariaLa vida de Martin Miguel de Güemes para niños de primaria
La vida de Martin Miguel de Güemes para niños de primaria
 
1° T3 Examen Mtro JP 23-24.pdf completos
1° T3 Examen Mtro JP 23-24.pdf completos1° T3 Examen Mtro JP 23-24.pdf completos
1° T3 Examen Mtro JP 23-24.pdf completos
 
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdfCompartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
Compartir p4s.co Pitch Hackathon Template Plantilla final.pptx-2.pdf
 
Prueba/test conoce tus heridas de la infancia
Prueba/test conoce tus heridas de la infanciaPrueba/test conoce tus heridas de la infancia
Prueba/test conoce tus heridas de la infancia
 
efemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptxefemérides del mes de junio 2024 (1).pptx
efemérides del mes de junio 2024 (1).pptx
 

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.