SlideShare una empresa de Scribd logo
1 de 34
Estructuras de Datos
Miguel Realpe
mrealpe@fiec.espol.edu.ec
Atributos Estáticos
• Los atributos de clase static son compartidas por todos los objetos de la
clase; se declaran de igual manera que otra variable, añadiendo como
prefijo la palabra reservada static; por ejemplo:
public class Conjunto {
public static int contador= 0;
public Conjunto (){
this.contador++;
}
}
• Los atributos miembro static no forman parte de los objetos de la clase sino
de la propia clase
• Los atributos estáticos deben llevar un modificador de acceso que permita
su uso desde el exterior de la misma, este puede ser public, protected o
ninguno.
?
Atributos Estáticos
Atributos Estáticos
Métodos Estáticos
• La llamada a los métodos static se realiza mediante la clase:
NombreClase.metodo(), respetando las reglas de visibilidad; aunque
también se pueden llamar con un objeto de la clase, no es recomendable
debido a que son métodos dependientes de la clase y no de los objetos.
• Muchos métodos de la biblioteca Java se definen como static; por
ejemplo, los métodos matemáticos de la clase Math: Math.sin(),
Math.sqrt().
?
• Es un mecanismo para compartir atributos y métodos entre
clases.
• Permite definir una clase hija (derivada , subclase) a partir de una
clase padre (base, superclase).
• Las subclases heredan los atributos y métodos de las superclases.
• Permite la reutilización de código.
• Relación “es un”
Superclase
Subclase
?
Herencia
Herencia
Auto
maxFuel
maxNroDePasajeros
modelo
velocidad
acelerar()
desacelerar()
girarAIzq()
girarADcha()
Avion
maxAltitud
maxFuel
maxNroDePasajeros
velocidad
nroDeMotores
acelerar()
desacelerar()
descender()
ascender()
ANTES DESPUES
Vehiculo
maxFuel
maxNroDePasajeros
velocidad
acelerar()
desacelerar()
Avion
maxAltitud
nroDeMotores
descender()
ascender()
Auto
modelo
girarAIzq()
girarADcha()
superclase
subclases
Herencia
Persona
nombre, apellido, edad
Estudiante
numero matricula
Mostrar Nombre Apellido y Matricula ( )
Estudiante extends Persona
………
Herencia
………
Herencia
Herencia
Clases Abstractas
• Su objetivo es especificar una estructura común para todas sus
subclases.
• El uso de clases abstractas puede simplificar el modelamiento de las
clases que participan en la misma relación con otras clases.
• Deja sin definir una o más operaciones (sólo declara sus prototipos – no
tienen implementación), que se definirán en subclases. Estas
operaciones se denominan métodos abstractos.
?
Clases Abstractas
Figura {Abstracto}
color
calcularArea()
Circulo
radio, centro
calcularArea()
Rectangulo
ancho, alto
calcularArea()
Clases Abstractas
Interfaz
• Especifica lo que una clase debe hacer pero no como lo hace.
• No puede ser instanciadas
• Cualquier cantidad de clases puede implementar una interfaz
• Una clase puede implementar cualquier número de interfaces
todos los métodos
de una interfaz son públicos y
abstractos,
?
Variable Interfaz
public interface Caja {
Caja insertar (Object elemento);
}
public class CajaRegalo implements Caja {
public Caja insertar(Object e) {...}
}
public class CajaJuguete implements Caja{
public Caja insertar(Object e) {... }
}
Caja q;
q = new CajaRegalo();
q.insertar("Reloj");
...
q = new CajaJuguete();
q.insertar("Pelota");
Overriding: El “Method Overriding” permite implementar un mismo
método de una superclase, en una subclase. La clase hija puede extender
o redefinir (override) el comportamiento de la clase padre.
Overriding
?
• Overloading: En una clase se puede definir dos o más métodos con el
mismo nombre, pero que reciben diferentes parámetros (cantidad y/o
tipo). Estos métodos son overloading (sobrecargar).
• Ej:
• public void getCab( );
• public void getCab(String Name);
• public void getCab(int numberOfPassengers);
Overloading
Conceptos varios
• Object: es la superclase base de todas las clases de Java; toda clase
definida en Java hereda de la clase Object. Una variable tipo Object
puede referenciar a cualquier otro tipo de dato
• La clase Object tiene dos métodos importantes: equals() y toString().
Generalmente, se redefinen (overriding) en las clases para
especializarlos.
equals(): Compara el objeto que hace la llamada con el objeto que
se pasa como argumento, devuelve true si son iguales.
toString(): Retorna una cadena que es la representación del
objeto
Conceptos varios
Conceptos varios
Conceptos varios
Problema
Se nos pide diseñar un sistema que permita guardar
únicamente un artículo (String) en una Caja Fuerte.
Solución
Pero…
Sin embargo, luego se nos informa que se necesita almacenar más
información acerca del artículo, y que de hecho sería conveniente
implementar más TDAs que representen a distintos artículos. Por ejemplo:
TDA DiscoDuro
TDA Computadora
TDA Joya
TDA Genérico
• Este nuevo TDA permitirá representar cualquier tipo de dato,
sea un entero, un real, u otro TDA
• La idea es lograr “almacenar” cualquier tipo de dato dentro
de una variable de tipo Genérico
• Debe ser posible tanto consultar como modificar
TDA Genérico en JAVA
En JAVA existen dos formas de implementar:
1. Utilizando la clase Object
2. Mediante un tipo parametrizado
TDA Genérico: Object
Casting!
TDA Genérico: Tipo parametrizado
Se plantean problemas reales de complejidad mediana para que los estudiantes,
diseñen e implementen la mejor solución posible en términos de eficiencia
computacional, con un estilo de codificación adecuado, en base a tipos de datos
abstractos comúnmente empleados en las ciencias computacionales.
Sonarqube
1. Instalar servidor sonarqube
• Descargar
• Descomprimir
• Ejecutar
2. Instalar Sonar Scanner
• (Ver pdf) Descargar, Instalar, Definir como Variable de entorno
Sonarqube
3. Setear sonar-project.properties en carpeta de proyecto
• Cambiar NOMBRE_PROYECTO (Ver archivo ejemplo - NO seguir pdf)
# Required metadata
sonar.projectKey=my:project
sonar.projectName= NOMBRE_PROYECTO
sonar.projectVersion=1.0
# Path to the parent source code directory.
# Path is relative to the sonar-project.properties file. Replace "" by "/" on Windows.
# Since SonarQube 4.2, this property is optional if sonar.modules is set.
# If not set, SonarQube starts looking for source code from the directory containing
# the sonar-project.properties file.
sonar.sources=src
# Encoding of the source code
sonar.sourceEncoding=UTF-8
# Additional parameters
sonar.my.property=value
sonar.java.binaries=.
Sonarqube
4. Ejecutar el comando sonar-scanner en carpeta del proyecto
• Abrir el cmd
• Ir a la carpeta del proyecto (con el comando: cd direccionCarpeta)
• Ejecutar el comando sonar-scanner
5. Revisar resultados en el servidor (http://localhost:9000)
Sonarqube

Más contenido relacionado

La actualidad más candente (18)

Clasesyobjetos
ClasesyobjetosClasesyobjetos
Clasesyobjetos
 
Tema3
Tema3Tema3
Tema3
 
Java ferca
Java fercaJava ferca
Java ferca
 
Calse 3 JAVA 2012
Calse 3 JAVA 2012Calse 3 JAVA 2012
Calse 3 JAVA 2012
 
Aprendiendo objetos en c++
Aprendiendo objetos en c++Aprendiendo objetos en c++
Aprendiendo objetos en c++
 
Networking
NetworkingNetworking
Networking
 
Java basico
Java basicoJava basico
Java basico
 
Java12
Java12Java12
Java12
 
Datos abstractos
Datos abstractosDatos abstractos
Datos abstractos
 
Unidad 1. Introducción. Conceptos fundamentales de la POO
Unidad 1. Introducción. Conceptos fundamentales de la POOUnidad 1. Introducción. Conceptos fundamentales de la POO
Unidad 1. Introducción. Conceptos fundamentales de la POO
 
Tema2
Tema2Tema2
Tema2
 
6. tda arrayu generico
6. tda arrayu generico6. tda arrayu generico
6. tda arrayu generico
 
TDA
TDATDA
TDA
 
1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractos1.3 uso de tipos de datos abstractos
1.3 uso de tipos de datos abstractos
 
6 A Arrays
6 A Arrays6 A Arrays
6 A Arrays
 
Programacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma pooProgramacion orientada a objetos Unidad 1-intro al paradigma poo
Programacion orientada a objetos Unidad 1-intro al paradigma poo
 
Presentación Java Evolution - GlobalLogic Club
Presentación Java Evolution - GlobalLogic ClubPresentación Java Evolution - GlobalLogic Club
Presentación Java Evolution - GlobalLogic Club
 
Java fundamentos 15 consejos prácticos - ITLA Tech Day 2018
Java fundamentos   15 consejos prácticos - ITLA Tech Day 2018Java fundamentos   15 consejos prácticos - ITLA Tech Day 2018
Java fundamentos 15 consejos prácticos - ITLA Tech Day 2018
 

Similar a 02 tda1 t2018

Programación Orientada a Objetos - Unidad 2: clases y objetos
Programación Orientada a Objetos - Unidad 2: clases y objetosProgramación Orientada a Objetos - Unidad 2: clases y objetos
Programación Orientada a Objetos - Unidad 2: clases y objetosJosé Antonio Sandoval Acosta
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaAngel Vázquez Patiño
 
Eclipse refactoring
Eclipse refactoringEclipse refactoring
Eclipse refactoringsrcid
 
Sesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clasesSesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clasesecodereck
 
Jyoc java-cap08 principios poo
Jyoc java-cap08 principios pooJyoc java-cap08 principios poo
Jyoc java-cap08 principios pooJyoc X
 
Clases en Java y todo lo relacionado
Clases en Java y todo lo relacionadoClases en Java y todo lo relacionado
Clases en Java y todo lo relacionadoJuan Carlos Espinoza
 
Programacion orientada a objetos 1
Programacion orientada a objetos 1Programacion orientada a objetos 1
Programacion orientada a objetos 1mellcv
 
4-Unidad 1. Paradigma de la Programación-Orientación a Objetos
4-Unidad 1. Paradigma de la Programación-Orientación a Objetos 4-Unidad 1. Paradigma de la Programación-Orientación a Objetos
4-Unidad 1. Paradigma de la Programación-Orientación a Objetos Luis Fernando Aguas Bucheli
 

Similar a 02 tda1 t2018 (20)

Programación Orientada a Objetos - Unidad 2: clases y objetos
Programación Orientada a Objetos - Unidad 2: clases y objetosProgramación Orientada a Objetos - Unidad 2: clases y objetos
Programación Orientada a Objetos - Unidad 2: clases y objetos
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en Java
 
Clases y objetos en Java
Clases y objetos en JavaClases y objetos en Java
Clases y objetos en Java
 
Presentacion4
Presentacion4Presentacion4
Presentacion4
 
Eclipse refactoring
Eclipse refactoringEclipse refactoring
Eclipse refactoring
 
Tutorial 3
Tutorial 3Tutorial 3
Tutorial 3
 
9-Unidad 3: Encapsulamiento y modularidad
9-Unidad 3: Encapsulamiento y modularidad9-Unidad 3: Encapsulamiento y modularidad
9-Unidad 3: Encapsulamiento y modularidad
 
Unidad II_1.pptx
Unidad II_1.pptxUnidad II_1.pptx
Unidad II_1.pptx
 
03 Oop
03   Oop03   Oop
03 Oop
 
JAVA OO - TEMA 01 - CLASES Y OBJETOS
JAVA OO - TEMA 01 - CLASES Y OBJETOSJAVA OO - TEMA 01 - CLASES Y OBJETOS
JAVA OO - TEMA 01 - CLASES Y OBJETOS
 
JAVA ORIENTADO A OBJETOS - CLASES Y OBJETOS
JAVA ORIENTADO A OBJETOS - CLASES Y OBJETOSJAVA ORIENTADO A OBJETOS - CLASES Y OBJETOS
JAVA ORIENTADO A OBJETOS - CLASES Y OBJETOS
 
Encapsulamiento
EncapsulamientoEncapsulamiento
Encapsulamiento
 
Sesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clasesSesion 07 nivel_acceso_miembros_clases
Sesion 07 nivel_acceso_miembros_clases
 
03 java poo_parte_2
03 java poo_parte_203 java poo_parte_2
03 java poo_parte_2
 
Jyoc java-cap08 principios poo
Jyoc java-cap08 principios pooJyoc java-cap08 principios poo
Jyoc java-cap08 principios poo
 
Clases en Java y todo lo relacionado
Clases en Java y todo lo relacionadoClases en Java y todo lo relacionado
Clases en Java y todo lo relacionado
 
S6-Contenedores
S6-ContenedoresS6-Contenedores
S6-Contenedores
 
Programacion orientada a objetos 1
Programacion orientada a objetos 1Programacion orientada a objetos 1
Programacion orientada a objetos 1
 
4-Unidad 1. Paradigma de la Programación-Orientación a Objetos
4-Unidad 1. Paradigma de la Programación-Orientación a Objetos 4-Unidad 1. Paradigma de la Programación-Orientación a Objetos
4-Unidad 1. Paradigma de la Programación-Orientación a Objetos
 
S6-POO-3.2 Contenedores Especiales
S6-POO-3.2 Contenedores EspecialesS6-POO-3.2 Contenedores Especiales
S6-POO-3.2 Contenedores Especiales
 

Más de Cindy Adriana Bohórquez Santana

265306183 ecolog-a-impacto-de-la-problem-tica-ambiental-actual-sobre-la-salud...
265306183 ecolog-a-impacto-de-la-problem-tica-ambiental-actual-sobre-la-salud...265306183 ecolog-a-impacto-de-la-problem-tica-ambiental-actual-sobre-la-salud...
265306183 ecolog-a-impacto-de-la-problem-tica-ambiental-actual-sobre-la-salud...Cindy Adriana Bohórquez Santana
 
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UMLUnidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UMLCindy Adriana Bohórquez Santana
 

Más de Cindy Adriana Bohórquez Santana (20)

Proyecto parcial1t2018
Proyecto parcial1t2018Proyecto parcial1t2018
Proyecto parcial1t2018
 
265306183 ecolog-a-impacto-de-la-problem-tica-ambiental-actual-sobre-la-salud...
265306183 ecolog-a-impacto-de-la-problem-tica-ambiental-actual-sobre-la-salud...265306183 ecolog-a-impacto-de-la-problem-tica-ambiental-actual-sobre-la-salud...
265306183 ecolog-a-impacto-de-la-problem-tica-ambiental-actual-sobre-la-salud...
 
20152 sfiec030121 1
20152 sfiec030121 120152 sfiec030121 1
20152 sfiec030121 1
 
4 estructuras enlazadas
4 estructuras enlazadas4 estructuras enlazadas
4 estructuras enlazadas
 
12 conjuntos mapas1t2018
12 conjuntos mapas1t201812 conjuntos mapas1t2018
12 conjuntos mapas1t2018
 
11 colas prioridad1t2018
11 colas prioridad1t201811 colas prioridad1t2018
11 colas prioridad1t2018
 
10 colas1 t2018
10 colas1 t201810 colas1 t2018
10 colas1 t2018
 
09 pilas aplicaciones1t2018
09 pilas aplicaciones1t201809 pilas aplicaciones1t2018
09 pilas aplicaciones1t2018
 
08 pilas1 t2018
08 pilas1 t201808 pilas1 t2018
08 pilas1 t2018
 
06 listas1 t2018
06 listas1 t201806 listas1 t2018
06 listas1 t2018
 
05 listas1 t2018
05 listas1 t201805 listas1 t2018
05 listas1 t2018
 
04 recursividad1 t2018
04 recursividad1 t201804 recursividad1 t2018
04 recursividad1 t2018
 
03 tda1 t2018
03 tda1 t201803 tda1 t2018
03 tda1 t2018
 
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UMLUnidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
Unidad 4 a HERENCIA, CLASES ABSTRACTAS, INTERFACES Y POLIMORFISMO . UML
 
Unidad 1_Programacion Orientada a Objetos
Unidad 1_Programacion Orientada a ObjetosUnidad 1_Programacion Orientada a Objetos
Unidad 1_Programacion Orientada a Objetos
 
Teoria basica probabilidad_2015_4_ed
Teoria basica probabilidad_2015_4_edTeoria basica probabilidad_2015_4_ed
Teoria basica probabilidad_2015_4_ed
 
Tema3 probabilidades
Tema3 probabilidadesTema3 probabilidades
Tema3 probabilidades
 
Ejercicios calculo probabilidades
Ejercicios calculo probabilidadesEjercicios calculo probabilidades
Ejercicios calculo probabilidades
 
5 conceptos de probabilidad (ii)
5 conceptos de probabilidad (ii)5 conceptos de probabilidad (ii)
5 conceptos de probabilidad (ii)
 
424052848.tp 02 probabilidad
424052848.tp 02 probabilidad424052848.tp 02 probabilidad
424052848.tp 02 probabilidad
 

Último

estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdfFlorenciopeaortiz
 
3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptx3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptxJhordanGonzalo
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.ALEJANDROLEONGALICIA
 
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdfPPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdfZamiertCruzSuyo
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxLuisvila35
 
Fisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfFisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfJessLeonelVargasJimn
 
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfCENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfpaola110264
 
Fisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdfFisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdfJessLeonelVargasJimn
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAJAMESDIAZ55
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptxGARCIARAMIREZCESAR
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfMirthaFernandez12
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCANDECE
 
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)ssuser6958b11
 
Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaANDECE
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfrolandolazartep
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfAntonioGonzalezIzqui
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasSegundo Silva Maguiña
 
SOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidadSOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidadANDECE
 
Electromagnetismo Fisica FisicaFisica.pdf
Electromagnetismo Fisica FisicaFisica.pdfElectromagnetismo Fisica FisicaFisica.pdf
Electromagnetismo Fisica FisicaFisica.pdfAnonymous0pBRsQXfnx
 
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUSesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUMarcosAlvarezSalinas
 

Último (20)

estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdf
 
3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptx3039_ftg_01Entregable 003_Matematica.pptx
3039_ftg_01Entregable 003_Matematica.pptx
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.
 
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdfPPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
PPT ASISTENCIA TECNICA PRESENTACIÓN FT- ET.pdf
 
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptxAMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
AMBIENTES SEDIMENTARIOS GEOLOGIA TIPOS .pptx
 
Fisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdfFisiología del azufre en plantas S.S.pdf
Fisiología del azufre en plantas S.S.pdf
 
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdfCENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
CENTROIDES Y MOMENTOS DE INERCIA DE AREAS PLANAS.pdf
 
Fisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdfFisiología del Potasio en Plantas p .pdf
Fisiología del Potasio en Plantas p .pdf
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
 
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdfPresentación Proyecto Trabajo Creativa Profesional Azul.pdf
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
 
Edificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRCEdificio residencial Becrux en Madrid. Fachada de GRC
Edificio residencial Becrux en Madrid. Fachada de GRC
 
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
 
Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de Almería
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdf
 
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdfTAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
TAREA 8 CORREDOR INTEROCEÁNICO DEL PAÍS.pdf
 
Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la Ingenierías
 
SOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidadSOUDAL: Soluciones de sellado, pegado y hermeticidad
SOUDAL: Soluciones de sellado, pegado y hermeticidad
 
Electromagnetismo Fisica FisicaFisica.pdf
Electromagnetismo Fisica FisicaFisica.pdfElectromagnetismo Fisica FisicaFisica.pdf
Electromagnetismo Fisica FisicaFisica.pdf
 
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUSesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
 

02 tda1 t2018

  • 1. Estructuras de Datos Miguel Realpe mrealpe@fiec.espol.edu.ec
  • 2. Atributos Estáticos • Los atributos de clase static son compartidas por todos los objetos de la clase; se declaran de igual manera que otra variable, añadiendo como prefijo la palabra reservada static; por ejemplo: public class Conjunto { public static int contador= 0; public Conjunto (){ this.contador++; } } • Los atributos miembro static no forman parte de los objetos de la clase sino de la propia clase • Los atributos estáticos deben llevar un modificador de acceso que permita su uso desde el exterior de la misma, este puede ser public, protected o ninguno. ?
  • 5. Métodos Estáticos • La llamada a los métodos static se realiza mediante la clase: NombreClase.metodo(), respetando las reglas de visibilidad; aunque también se pueden llamar con un objeto de la clase, no es recomendable debido a que son métodos dependientes de la clase y no de los objetos. • Muchos métodos de la biblioteca Java se definen como static; por ejemplo, los métodos matemáticos de la clase Math: Math.sin(), Math.sqrt(). ?
  • 6. • Es un mecanismo para compartir atributos y métodos entre clases. • Permite definir una clase hija (derivada , subclase) a partir de una clase padre (base, superclase). • Las subclases heredan los atributos y métodos de las superclases. • Permite la reutilización de código. • Relación “es un” Superclase Subclase ? Herencia
  • 8. Herencia Persona nombre, apellido, edad Estudiante numero matricula Mostrar Nombre Apellido y Matricula ( ) Estudiante extends Persona
  • 12. Clases Abstractas • Su objetivo es especificar una estructura común para todas sus subclases. • El uso de clases abstractas puede simplificar el modelamiento de las clases que participan en la misma relación con otras clases. • Deja sin definir una o más operaciones (sólo declara sus prototipos – no tienen implementación), que se definirán en subclases. Estas operaciones se denominan métodos abstractos. ?
  • 13. Clases Abstractas Figura {Abstracto} color calcularArea() Circulo radio, centro calcularArea() Rectangulo ancho, alto calcularArea()
  • 15. Interfaz • Especifica lo que una clase debe hacer pero no como lo hace. • No puede ser instanciadas • Cualquier cantidad de clases puede implementar una interfaz • Una clase puede implementar cualquier número de interfaces todos los métodos de una interfaz son públicos y abstractos, ?
  • 16. Variable Interfaz public interface Caja { Caja insertar (Object elemento); } public class CajaRegalo implements Caja { public Caja insertar(Object e) {...} } public class CajaJuguete implements Caja{ public Caja insertar(Object e) {... } } Caja q; q = new CajaRegalo(); q.insertar("Reloj"); ... q = new CajaJuguete(); q.insertar("Pelota");
  • 17. Overriding: El “Method Overriding” permite implementar un mismo método de una superclase, en una subclase. La clase hija puede extender o redefinir (override) el comportamiento de la clase padre. Overriding ?
  • 18. • Overloading: En una clase se puede definir dos o más métodos con el mismo nombre, pero que reciben diferentes parámetros (cantidad y/o tipo). Estos métodos son overloading (sobrecargar). • Ej: • public void getCab( ); • public void getCab(String Name); • public void getCab(int numberOfPassengers); Overloading
  • 19. Conceptos varios • Object: es la superclase base de todas las clases de Java; toda clase definida en Java hereda de la clase Object. Una variable tipo Object puede referenciar a cualquier otro tipo de dato
  • 20. • La clase Object tiene dos métodos importantes: equals() y toString(). Generalmente, se redefinen (overriding) en las clases para especializarlos. equals(): Compara el objeto que hace la llamada con el objeto que se pasa como argumento, devuelve true si son iguales. toString(): Retorna una cadena que es la representación del objeto Conceptos varios
  • 23. Problema Se nos pide diseñar un sistema que permita guardar únicamente un artículo (String) en una Caja Fuerte.
  • 25. Pero… Sin embargo, luego se nos informa que se necesita almacenar más información acerca del artículo, y que de hecho sería conveniente implementar más TDAs que representen a distintos artículos. Por ejemplo: TDA DiscoDuro TDA Computadora TDA Joya
  • 26. TDA Genérico • Este nuevo TDA permitirá representar cualquier tipo de dato, sea un entero, un real, u otro TDA • La idea es lograr “almacenar” cualquier tipo de dato dentro de una variable de tipo Genérico • Debe ser posible tanto consultar como modificar
  • 27. TDA Genérico en JAVA En JAVA existen dos formas de implementar: 1. Utilizando la clase Object 2. Mediante un tipo parametrizado
  • 29. TDA Genérico: Tipo parametrizado
  • 30. Se plantean problemas reales de complejidad mediana para que los estudiantes, diseñen e implementen la mejor solución posible en términos de eficiencia computacional, con un estilo de codificación adecuado, en base a tipos de datos abstractos comúnmente empleados en las ciencias computacionales.
  • 31. Sonarqube 1. Instalar servidor sonarqube • Descargar • Descomprimir • Ejecutar
  • 32. 2. Instalar Sonar Scanner • (Ver pdf) Descargar, Instalar, Definir como Variable de entorno Sonarqube
  • 33. 3. Setear sonar-project.properties en carpeta de proyecto • Cambiar NOMBRE_PROYECTO (Ver archivo ejemplo - NO seguir pdf) # Required metadata sonar.projectKey=my:project sonar.projectName= NOMBRE_PROYECTO sonar.projectVersion=1.0 # Path to the parent source code directory. # Path is relative to the sonar-project.properties file. Replace "" by "/" on Windows. # Since SonarQube 4.2, this property is optional if sonar.modules is set. # If not set, SonarQube starts looking for source code from the directory containing # the sonar-project.properties file. sonar.sources=src # Encoding of the source code sonar.sourceEncoding=UTF-8 # Additional parameters sonar.my.property=value sonar.java.binaries=. Sonarqube
  • 34. 4. Ejecutar el comando sonar-scanner en carpeta del proyecto • Abrir el cmd • Ir a la carpeta del proyecto (con el comando: cd direccionCarpeta) • Ejecutar el comando sonar-scanner 5. Revisar resultados en el servidor (http://localhost:9000) Sonarqube