SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
O
O
P
03
Nueva edición - 2020
progra_amandoholamundo.co
1/18@xacarana
Agenda
Valores por defecto
¿Qué es un constructor?
Constructor por defecto
Firma de un constructor
Palabra reservada this
Relaciones entre clases
Ejercicios
2/18@xacarana
Valores por defecto
Cuando se crea
un objeto a partir
de una clase. A los
miembros dato, se
les asigna un valor
por defecto, que
depende del tipo
de dato.
Si se crea una instancia de la
clase Galleta, al usar los
getters se obtienen un valor, es
decir las variables se inicializan
cuando se crea el objeto.
No se recomienda asignar un
valor directamente al miembro
dato en la clase.
!
Galleta
nombre:cadena
valor:flotante
tiene_mani:boleano
setter y getter nombre
setter y getter valor
setter y getter tiene_mani
FechaVencimiento():cadena
RemojarEnLeche():boleano
_
_
_
+
+
+
+
+
3/18@xacarana
Valores por defecto
Galleta obj;
obj
null
obj = new Galleta();
Al declarar la variable obj, solo
se reserva un espacio null en
memoria, NO hay información,
ya que no existe el objeto.
Al usar el operador new se
crea el objeto y se asignan los
valores iniciales a todos los
miembros dato.
Si se imprime usando el getter
de la clase de algún miembro
dato, obtenemos un valor.
Console.Write(obj.Tiene_mani);
Cmd > false
4/18@xacarana
Valores por defecto
Para ver una lis-
ta de los valores
por defecto de
los datos prim-
itivos visitar el
siguiente enlace
!
obj
propiedades
acciones
nombre
tiene_mani
valor
0.0F
null
false
setter Nombre
getter Nombre
...
setter Tiene_Mani
getter Tiene_Mani
Cuando se crea un obje-
to a partir de una clase,
sus miembros datos, se
inicializan con un valor
por defecto, dependien-
do del tipo de dato.
La imagen muestra la representación de
una instancia acabada de crear
5/18@xacarana
Valores por defecto
Galleta galleta_02 = new Galleta();
galleta_02.Nombre =“James”;
galleta_02.Apellido =“Bond”;
Galleta galleta_01 = new Galleta();
Se crea una instancia genérica de la clase.
Se personaliza, el objeto, cambiando sus
propiedades.
Cuando se crea un objeto
a partir de la definición
de su clase, se crean co-
pias genéricas.
Para personalizar la co-
pia, es decir el objeto,
se modifican sus carac-
terísticas, cambiando sus
propiedades usando los
setter y getters.
!
Recuerde
encapsular los
miembros dato
6/18@xacarana
Valores por defecto
galleta_01.Nombre
retorna null,
imprime
la cadena vacía
galleta_01.Apellido
retornanull
imprime
la cadena vacía
galleta_01.Valor
retorna 0.0F
galleta_01.TieneMani
retorna false
Todos los objetos, tienen valores
por defecto, si los consultamos
utilizando los getters de la clase,
obtenemos resultados parecidos
a los que muestra la imagen.
Para cambiar los valores usamos
los setters. De esta forma se per-
sonaliza el objeto, como se mos-
tro anteriormente con la galleta
James Bond.
El valor por defecto,
depende del tipo de dato.
7/18@xacarana
¿Qué es un
constructor?
Frecuentemente se re-
quiere inicializar un obje-
to con valores personal-
izados inmediatamente
cuando se crea el objeto,
en este caso se usan los
contructores.
Los constructores tam-
bién se pueden usar para
asignar valores por de-
fecto, diferentes a los
tradicionales al objecto.
El constructor, sería el
panadero, el cual person-
aliza los productos.
8/18@xacarana
Constructor por defecto
Si se usa un constructor diferente
al constructor por defecto,
se debe incluir el constructor
vacío, si se quiere seguir usando
esta característica para crear in-
stancias, sin pasar argumentos.
Siempre hay un constructor que crea
objetos con valores por defecto.
Constructor por defecto
Galleta(){
//Sentencias
}
Galleta g = new Galleta();
9/18@xacarana
Firma de un constructor
[Modificador] NombreClase(listaparametros){
//sentencias de inicialización de objeto
}
Un constructor es similar a una función, la diferen-
cia es que los constructores no tienen retorno, ya
que su objetivo es inicializar o ejecutar funciones
al momento del instanciamiento de la clase.
10/18@xacarana
Constructores personalizados
?
Galleta(){
Precio = 1000;
}
Galleta(float precio){
Precio = precio;
}
Galleta(string tipo, float peso){
Tipo = tipo;
Peso = peso;
if(tipo==”fortuna”)
{
CrearFrase();
}
}
Una clase puede ten-
er, varios constructores,
los cuales deben tener
el mismo nombre pero
con diferente lista de
parámetros o tipo de
dato en el caso en el que
los constructores
reciban el mismo núme-
ro de valores, como
muestra la imagen.
11/18@xacarana
Palabra reservada this
this.Nombre = “John Doe”;
Es una referencia al mismo objeto, se usa
para autoasignación de propiedades en los
constructores o en cualquier contexto den-
tro de la clase. Evita además conflictos con
nombres de valores que llegan a la clase.
12/18@xacarana
Relaciones entre clases
Galleta
nombre:cadena
setter y getter nombre
_
+
Helado
nombre:cadena
setter y getter nombre
_
+
Luego de revisar el
esqueleto de la clase y
sus principales carac-
terísticas, es importante
empezar a crear rela-
ciones, ya que un pro-
grama esta compuesto
por un grupo de con-
ceptos representados en
clases interconectadas.
13/18@xacarana
Multiplicidad
Indica cuántas instancias de una clase pueden asociarse con
las otras clases de la relación, se escribe usando la notación
M..N, donde M es el límite inferior y N, el superior.
•	Si el límite inferior es 0, la asociación es opcional. Si el
límite inferior es 1 o superior implica que la asociación
es obligatoria y como mínimo han de ocurrir ese núme-
ro de instancias.
•	El límite superior puede estar acotado por un núme-
ro exacto o ser indefinido. En este último caso se usa el
símbolo * (asterisco).
•	Si ambos límites coinciden, se colapsan en un único
número. Por ejemplo 1..1 pasa a ser 1.
14/18@xacarana
Asociación
Relación binaria, se representa con una línea continua. Puede
relacionar cualquier número de clases. Se le puede asignar un
nombre, y en sus extremos se puede hacer indicaciones, como
el rol que desempeña la asociación, los nombres de las clases
relacionadas, su multiplicidad, su visibilidad, entre otras.
Galleta Dispensador
Se vende en* 1
15/18@xacarana
Composición
Implica que los componentes de un obje-
to sólo pueden pertenecer a un solo objeto
agregado, de forma que cuando el objeto
agregado es destruido, todas sus partes son
destruidas también. La relación se repre-
senta con un rombo relleno.
•	Para representar el todo y sus partes
•	Si se elimina el contenedor, el contenido también
es eliminado
Paquete
Galleta
1..*
1
16/18@xacarana
Paquete
Regalo
1..*
1
Agregación
La agregación es una asociación
con unas connotaciones semánticas
más definidas, es más especifica: la
agregación es la relación parte-de,
que presenta a una entidad como un
agregado de partes (en orientación a
objeto, un objeto como agregado de
otros objetos). Debe ser una asocia-
ción binaria.
•	Si se elimina una clase no es necesario eliminar
otra que tenga relación
•	Si se elimina el contenedor, el contenido usual-
mente no se destruye
•	Clasifica o cataloga contenido para distinguilo del
todo (contenedor)
17/18@xacarana
Ejercicios
•	¿Cuál es el valor por defecto de los principales tipos de variable?
•	¿Por qué no se recomienda asignar un valor directamente a un miembro dato?
•	¿Cuántos constructores se pueden crear en una clase?
•	Realice 3 constructores de la clase Postre, cree 5 instancias, usando las diferentes ver-
siones de los constructores, adicional agregue el constructor por defecto.
•	¿Por qué los constructores no tienen un valor de retorno?
•	¿Cual es el límite totla en la cantidad de variables de la lista de parámentros de un
constructor? ¿Se puede recibir cualquier tipo de dato?
•	Cree 5 clases adicionales a la clase galleta, y cree una relación asociativa con las nue-
vas clases, tenga en cuenta el contexto de la panaderia.
•	Complete las propiedades de la clase Galleta, hasta alcanzar un mínimo de 10 items
•	¿Como se puede asignar un arreglo a un objeto en tiempo de ejecución?
•	¿Cuál es el valor por defecto de un array de tipo Galleta?
•	Cree tres ejemplos donde se evidencia la relación de composición
•	Cree tres ejemplos donde se evidencia la relación de agregación
•	Realice un diagrama de clases donde se evidencie las relaciones entre la clase, arbol,
hoja, flor y tronco.
18/18@xacarana

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Java colecciones
Java coleccionesJava colecciones
Java colecciones
 
Trees
TreesTrees
Trees
 
colecciones en java
colecciones en javacolecciones en java
colecciones en java
 
DBMS unit-5.pdf
DBMS unit-5.pdfDBMS unit-5.pdf
DBMS unit-5.pdf
 
MODELAMIENTO ENTIDAD - RELACIÓN (ER)
MODELAMIENTO ENTIDAD - RELACIÓN  (ER)MODELAMIENTO ENTIDAD - RELACIÓN  (ER)
MODELAMIENTO ENTIDAD - RELACIÓN (ER)
 
Operators in java
Operators in javaOperators in java
Operators in java
 
Estructuras de datos
Estructuras de datosEstructuras de datos
Estructuras de datos
 
Multithreading in java
Multithreading in javaMultithreading in java
Multithreading in java
 
POO - 14 - Vetores
POO - 14 - VetoresPOO - 14 - Vetores
POO - 14 - Vetores
 
Java orientação a objetos (variaveis de instancia e metodos)
Java   orientação a objetos (variaveis de instancia e metodos)Java   orientação a objetos (variaveis de instancia e metodos)
Java orientação a objetos (variaveis de instancia e metodos)
 
Classes and Objects in C#
Classes and Objects in C#Classes and Objects in C#
Classes and Objects in C#
 
Java Queue.pptx
Java Queue.pptxJava Queue.pptx
Java Queue.pptx
 
POO - 10 - Herança
POO - 10 - HerançaPOO - 10 - Herança
POO - 10 - Herança
 
Classes and Nested Classes in Java
Classes and Nested Classes in JavaClasses and Nested Classes in Java
Classes and Nested Classes in Java
 
Collections framework in java
Collections framework in javaCollections framework in java
Collections framework in java
 
1.1.5 Gestion de Memoria dinámica con TDA.pptx
1.1.5 Gestion de Memoria dinámica con TDA.pptx1.1.5 Gestion de Memoria dinámica con TDA.pptx
1.1.5 Gestion de Memoria dinámica con TDA.pptx
 
Array of objects.pptx
Array of objects.pptxArray of objects.pptx
Array of objects.pptx
 
Greenfoot 5
Greenfoot 5Greenfoot 5
Greenfoot 5
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colas
 
Programación Orientada a Objetos para Python
Programación Orientada a Objetos para PythonProgramación Orientada a Objetos para Python
Programación Orientada a Objetos para Python
 

Similar a 03 curso poo Valores por defecto - constructores

Similar a 03 curso poo Valores por defecto - constructores (20)

Hibernate - JPA @luce 5
Hibernate - JPA @luce 5Hibernate - JPA @luce 5
Hibernate - JPA @luce 5
 
11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()
 
Constructor Y Destructor
Constructor Y DestructorConstructor Y Destructor
Constructor Y Destructor
 
El lenguaje C++ (1).ppt
El lenguaje C++ (1).pptEl lenguaje C++ (1).ppt
El lenguaje C++ (1).ppt
 
El lenguaje C++.ppt
El lenguaje C++.pptEl lenguaje C++.ppt
El lenguaje C++.ppt
 
Cuestiones de Repaso Capitulo 16
Cuestiones de Repaso Capitulo 16Cuestiones de Repaso Capitulo 16
Cuestiones de Repaso Capitulo 16
 
Poo 1
Poo 1Poo 1
Poo 1
 
El modelo de datos relacional (Base de Datos)
El modelo de datos relacional (Base de Datos)El modelo de datos relacional (Base de Datos)
El modelo de datos relacional (Base de Datos)
 
Metodos Constructor Y Destructor
Metodos Constructor Y DestructorMetodos Constructor Y Destructor
Metodos Constructor Y Destructor
 
Jyoc java-cap10 clases complementarias y enumerados
Jyoc java-cap10 clases complementarias y enumeradosJyoc java-cap10 clases complementarias y enumerados
Jyoc java-cap10 clases complementarias y enumerados
 
Base de datos
Base de datosBase de datos
Base de datos
 
Poo Java
Poo JavaPoo Java
Poo Java
 
Guia poo
Guia pooGuia poo
Guia poo
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1
 
Framework .NET 3.5 05 Tipo y jerarquía de objetos
Framework .NET 3.5 05 Tipo y jerarquía de objetosFramework .NET 3.5 05 Tipo y jerarquía de objetos
Framework .NET 3.5 05 Tipo y jerarquía de objetos
 
Zope Page Templates
Zope Page TemplatesZope Page Templates
Zope Page Templates
 
Diseño Lógico
Diseño LógicoDiseño Lógico
Diseño Lógico
 
clase 3-MODELO RELACIONAL.ppt
clase 3-MODELO RELACIONAL.pptclase 3-MODELO RELACIONAL.ppt
clase 3-MODELO RELACIONAL.ppt
 
Mv vol2 ver5.0(corregido)
Mv vol2 ver5.0(corregido)Mv vol2 ver5.0(corregido)
Mv vol2 ver5.0(corregido)
 
Oo basico
Oo basicoOo basico
Oo basico
 

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

Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
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
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
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
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptxolgakaterin
 
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
 
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
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
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
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
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
 
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
 
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
 
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
 
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
 

Último (20)

Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
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
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..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...
 
Ecosistemas Natural, Rural y urbano 2021.pptx
Ecosistemas Natural, Rural y urbano  2021.pptxEcosistemas Natural, Rural y urbano  2021.pptx
Ecosistemas Natural, Rural y urbano 2021.pptx
 
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
 
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
 
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
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
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
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
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
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
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...
 
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
 
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
 
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
 

03 curso poo Valores por defecto - constructores

  • 1. O O P 03 Nueva edición - 2020 progra_amandoholamundo.co 1/18@xacarana
  • 2. Agenda Valores por defecto ¿Qué es un constructor? Constructor por defecto Firma de un constructor Palabra reservada this Relaciones entre clases Ejercicios 2/18@xacarana
  • 3. Valores por defecto Cuando se crea un objeto a partir de una clase. A los miembros dato, se les asigna un valor por defecto, que depende del tipo de dato. Si se crea una instancia de la clase Galleta, al usar los getters se obtienen un valor, es decir las variables se inicializan cuando se crea el objeto. No se recomienda asignar un valor directamente al miembro dato en la clase. ! Galleta nombre:cadena valor:flotante tiene_mani:boleano setter y getter nombre setter y getter valor setter y getter tiene_mani FechaVencimiento():cadena RemojarEnLeche():boleano _ _ _ + + + + + 3/18@xacarana
  • 4. Valores por defecto Galleta obj; obj null obj = new Galleta(); Al declarar la variable obj, solo se reserva un espacio null en memoria, NO hay información, ya que no existe el objeto. Al usar el operador new se crea el objeto y se asignan los valores iniciales a todos los miembros dato. Si se imprime usando el getter de la clase de algún miembro dato, obtenemos un valor. Console.Write(obj.Tiene_mani); Cmd > false 4/18@xacarana
  • 5. Valores por defecto Para ver una lis- ta de los valores por defecto de los datos prim- itivos visitar el siguiente enlace ! obj propiedades acciones nombre tiene_mani valor 0.0F null false setter Nombre getter Nombre ... setter Tiene_Mani getter Tiene_Mani Cuando se crea un obje- to a partir de una clase, sus miembros datos, se inicializan con un valor por defecto, dependien- do del tipo de dato. La imagen muestra la representación de una instancia acabada de crear 5/18@xacarana
  • 6. Valores por defecto Galleta galleta_02 = new Galleta(); galleta_02.Nombre =“James”; galleta_02.Apellido =“Bond”; Galleta galleta_01 = new Galleta(); Se crea una instancia genérica de la clase. Se personaliza, el objeto, cambiando sus propiedades. Cuando se crea un objeto a partir de la definición de su clase, se crean co- pias genéricas. Para personalizar la co- pia, es decir el objeto, se modifican sus carac- terísticas, cambiando sus propiedades usando los setter y getters. ! Recuerde encapsular los miembros dato 6/18@xacarana
  • 7. Valores por defecto galleta_01.Nombre retorna null, imprime la cadena vacía galleta_01.Apellido retornanull imprime la cadena vacía galleta_01.Valor retorna 0.0F galleta_01.TieneMani retorna false Todos los objetos, tienen valores por defecto, si los consultamos utilizando los getters de la clase, obtenemos resultados parecidos a los que muestra la imagen. Para cambiar los valores usamos los setters. De esta forma se per- sonaliza el objeto, como se mos- tro anteriormente con la galleta James Bond. El valor por defecto, depende del tipo de dato. 7/18@xacarana
  • 8. ¿Qué es un constructor? Frecuentemente se re- quiere inicializar un obje- to con valores personal- izados inmediatamente cuando se crea el objeto, en este caso se usan los contructores. Los constructores tam- bién se pueden usar para asignar valores por de- fecto, diferentes a los tradicionales al objecto. El constructor, sería el panadero, el cual person- aliza los productos. 8/18@xacarana
  • 9. Constructor por defecto Si se usa un constructor diferente al constructor por defecto, se debe incluir el constructor vacío, si se quiere seguir usando esta característica para crear in- stancias, sin pasar argumentos. Siempre hay un constructor que crea objetos con valores por defecto. Constructor por defecto Galleta(){ //Sentencias } Galleta g = new Galleta(); 9/18@xacarana
  • 10. Firma de un constructor [Modificador] NombreClase(listaparametros){ //sentencias de inicialización de objeto } Un constructor es similar a una función, la diferen- cia es que los constructores no tienen retorno, ya que su objetivo es inicializar o ejecutar funciones al momento del instanciamiento de la clase. 10/18@xacarana
  • 11. Constructores personalizados ? Galleta(){ Precio = 1000; } Galleta(float precio){ Precio = precio; } Galleta(string tipo, float peso){ Tipo = tipo; Peso = peso; if(tipo==”fortuna”) { CrearFrase(); } } Una clase puede ten- er, varios constructores, los cuales deben tener el mismo nombre pero con diferente lista de parámetros o tipo de dato en el caso en el que los constructores reciban el mismo núme- ro de valores, como muestra la imagen. 11/18@xacarana
  • 12. Palabra reservada this this.Nombre = “John Doe”; Es una referencia al mismo objeto, se usa para autoasignación de propiedades en los constructores o en cualquier contexto den- tro de la clase. Evita además conflictos con nombres de valores que llegan a la clase. 12/18@xacarana
  • 13. Relaciones entre clases Galleta nombre:cadena setter y getter nombre _ + Helado nombre:cadena setter y getter nombre _ + Luego de revisar el esqueleto de la clase y sus principales carac- terísticas, es importante empezar a crear rela- ciones, ya que un pro- grama esta compuesto por un grupo de con- ceptos representados en clases interconectadas. 13/18@xacarana
  • 14. Multiplicidad Indica cuántas instancias de una clase pueden asociarse con las otras clases de la relación, se escribe usando la notación M..N, donde M es el límite inferior y N, el superior. • Si el límite inferior es 0, la asociación es opcional. Si el límite inferior es 1 o superior implica que la asociación es obligatoria y como mínimo han de ocurrir ese núme- ro de instancias. • El límite superior puede estar acotado por un núme- ro exacto o ser indefinido. En este último caso se usa el símbolo * (asterisco). • Si ambos límites coinciden, se colapsan en un único número. Por ejemplo 1..1 pasa a ser 1. 14/18@xacarana
  • 15. Asociación Relación binaria, se representa con una línea continua. Puede relacionar cualquier número de clases. Se le puede asignar un nombre, y en sus extremos se puede hacer indicaciones, como el rol que desempeña la asociación, los nombres de las clases relacionadas, su multiplicidad, su visibilidad, entre otras. Galleta Dispensador Se vende en* 1 15/18@xacarana
  • 16. Composición Implica que los componentes de un obje- to sólo pueden pertenecer a un solo objeto agregado, de forma que cuando el objeto agregado es destruido, todas sus partes son destruidas también. La relación se repre- senta con un rombo relleno. • Para representar el todo y sus partes • Si se elimina el contenedor, el contenido también es eliminado Paquete Galleta 1..* 1 16/18@xacarana
  • 17. Paquete Regalo 1..* 1 Agregación La agregación es una asociación con unas connotaciones semánticas más definidas, es más especifica: la agregación es la relación parte-de, que presenta a una entidad como un agregado de partes (en orientación a objeto, un objeto como agregado de otros objetos). Debe ser una asocia- ción binaria. • Si se elimina una clase no es necesario eliminar otra que tenga relación • Si se elimina el contenedor, el contenido usual- mente no se destruye • Clasifica o cataloga contenido para distinguilo del todo (contenedor) 17/18@xacarana
  • 18. Ejercicios • ¿Cuál es el valor por defecto de los principales tipos de variable? • ¿Por qué no se recomienda asignar un valor directamente a un miembro dato? • ¿Cuántos constructores se pueden crear en una clase? • Realice 3 constructores de la clase Postre, cree 5 instancias, usando las diferentes ver- siones de los constructores, adicional agregue el constructor por defecto. • ¿Por qué los constructores no tienen un valor de retorno? • ¿Cual es el límite totla en la cantidad de variables de la lista de parámentros de un constructor? ¿Se puede recibir cualquier tipo de dato? • Cree 5 clases adicionales a la clase galleta, y cree una relación asociativa con las nue- vas clases, tenga en cuenta el contexto de la panaderia. • Complete las propiedades de la clase Galleta, hasta alcanzar un mínimo de 10 items • ¿Como se puede asignar un arreglo a un objeto en tiempo de ejecución? • ¿Cuál es el valor por defecto de un array de tipo Galleta? • Cree tres ejemplos donde se evidencia la relación de composición • Cree tres ejemplos donde se evidencia la relación de agregación • Realice un diagrama de clases donde se evidencie las relaciones entre la clase, arbol, hoja, flor y tronco. 18/18@xacarana