En esta lección veremos el concepto de interfaz, sus ventajas y como debemos aplicarlo; mostraremos algunos casos ilustrativos. Finalmente desarrollaremos un caso ilustrativo.
URL DEL CURSO EN #UDEMY: https://www.udemy.com/course/java-orientado-a-objetos/?referralCode=ED949D58C79D27158E8D
CUPONES DE DESCUENTO: https://github.com/gcoronelc/udemy
Canal de yotube: https://www.youtube.com/desarrollasoftware
#UDEMY #java #desarrollasoftware #netbeans #gcoronelc #clases
#objetos #arreglos #colecciones #software #programacion
#desarrollador #programador #aplicacion #fullstack
#backend #frontend #agil #scrum #agile #framework
Este trabojo de investigacion incluye el contenido de toda la unidad uno de la materia de lenguajes de interfaz. Se maneja informacion clara y sencilla, dando importancia a los puntos mas importantes de esta primera unidad de la materia ya mencionada.
Plantilla para realizar un manual de usuario de software Yaskelly Yedra
La siguiente presentación es la plantilla que se utiliza en el Departamento de Computación para realizar los manuales de usuario de los sistemas desarrollados tanto para ingeniería de software, sistemas de información y trabajos especiales de grado.
En la diapositiva No. 21 hay un error. El comando para habilitar classless en RIP v2 es Router(config-router)# no auto-summary y no el que se muestra que sirve para mostrar los protocolos de enrutamiento que están habilitados en el enrutador.
Este trabojo de investigacion incluye el contenido de toda la unidad uno de la materia de lenguajes de interfaz. Se maneja informacion clara y sencilla, dando importancia a los puntos mas importantes de esta primera unidad de la materia ya mencionada.
Plantilla para realizar un manual de usuario de software Yaskelly Yedra
La siguiente presentación es la plantilla que se utiliza en el Departamento de Computación para realizar los manuales de usuario de los sistemas desarrollados tanto para ingeniería de software, sistemas de información y trabajos especiales de grado.
En la diapositiva No. 21 hay un error. El comando para habilitar classless en RIP v2 es Router(config-router)# no auto-summary y no el que se muestra que sirve para mostrar los protocolos de enrutamiento que están habilitados en el enrutador.
IGRP (Protocolo de enrutamiento de gateway interior) es un protocolo de enrutamiento basado en la tecnología vector-distancia. Utiliza una métrica compuesta para determinar la mejor ruta basándose en el ancho de banda, el retardo, la confiabilidad y la carga del enlace.
Esta es una presentación que explica en detalle el funcionamiento de STP... de esta hice una traducción, pero el contenido, el modelo en fin la mayoría de información en ella no es de mi autoria.
Solo hice traduccion y algunos retoques.
Espero la disfruten!
Lógica secuencial asignatura electrónica digital para ingeniería electromecánicaIsrael Magaña
Introducción a la lógica secuencial y su comparación con la lógica combinacional para la asignatura de electrónica digital, tema introductorio previo a los flip flops
Entender el concepto de interface y su aplicación en el desarrollo de software .
Te recomiendo que visites:
http://gcoronelc.blogspot.pe/
http://gcoronelc.blogspot.pe/2016/10/eureka-cs-oracle-jdbc.html
http://www.desarrollasoftware.com/
Una de las características más importantes de la Orientación a Objetos con Java es la herencia. En esta lección aprenderás qué es la herencia, sus características, sus ventajas y cómo aplicarla. También estarás desarrollando el concepto de polimorfismo. Al finalizar la lección desarrollaremos un ejemplo aplicando herencia.
URL DEL CURSO EN #UDEMY: https://www.udemy.com/course/java-orientado-a-objetos/?referralCode=ED949D58C79D27158E8D
CUPONES DE DESCUENTO: https://github.com/gcoronelc/udemy
Canal de yotube: https://www.youtube.com/desarrollasoftware
#UDEMY #java #desarrollasoftware #netbeans #gcoronelc #clases
#objetos #arreglos #colecciones #software #programacion
#desarrollador #programador #aplicacion #fullstack
#backend #frontend #agil #scrum #agile #framework
IGRP (Protocolo de enrutamiento de gateway interior) es un protocolo de enrutamiento basado en la tecnología vector-distancia. Utiliza una métrica compuesta para determinar la mejor ruta basándose en el ancho de banda, el retardo, la confiabilidad y la carga del enlace.
Esta es una presentación que explica en detalle el funcionamiento de STP... de esta hice una traducción, pero el contenido, el modelo en fin la mayoría de información en ella no es de mi autoria.
Solo hice traduccion y algunos retoques.
Espero la disfruten!
Lógica secuencial asignatura electrónica digital para ingeniería electromecánicaIsrael Magaña
Introducción a la lógica secuencial y su comparación con la lógica combinacional para la asignatura de electrónica digital, tema introductorio previo a los flip flops
Entender el concepto de interface y su aplicación en el desarrollo de software .
Te recomiendo que visites:
http://gcoronelc.blogspot.pe/
http://gcoronelc.blogspot.pe/2016/10/eureka-cs-oracle-jdbc.html
http://www.desarrollasoftware.com/
Una de las características más importantes de la Orientación a Objetos con Java es la herencia. En esta lección aprenderás qué es la herencia, sus características, sus ventajas y cómo aplicarla. También estarás desarrollando el concepto de polimorfismo. Al finalizar la lección desarrollaremos un ejemplo aplicando herencia.
URL DEL CURSO EN #UDEMY: https://www.udemy.com/course/java-orientado-a-objetos/?referralCode=ED949D58C79D27158E8D
CUPONES DE DESCUENTO: https://github.com/gcoronelc/udemy
Canal de yotube: https://www.youtube.com/desarrollasoftware
#UDEMY #java #desarrollasoftware #netbeans #gcoronelc #clases
#objetos #arreglos #colecciones #software #programacion
#desarrollador #programador #aplicacion #fullstack
#backend #frontend #agil #scrum #agile #framework
En este material se explica el concepto de herencia.
Te recomiendo que visites:
http://gcoronelc.blogspot.pe/
http://gcoronelc.blogspot.pe/2016/10/eureka-cs-oracle-jdbc.html
Esta presentación es parte del contenido del curso de Programación Avanzada impartido en la Universidad Rafael Landívar durante el año 2015.
Incluye los temas:
• Herencia
• Polimorfismo
Creado por Ing. Alvaro Enrique Ruano
Tecnológico Nacional de México
Ingeniería en Sistemas Computacionales
Programación Orientada a Objetos
Unidad 2: clases y objetos en C#.Net
Material desarrollado para la asignatura de Programación Orientada a Objetos, que se cursa en el segundo semestre de la carrera de ISC.
Slides para la charla sobre Action-Domain-Responder del VLCTechFest 2018.
Action-Domain-Responder (ADR) es un patrón de arquitectura propuesto por Paul M. Jones pensado para sustituir MVC en el desarrollo backend.
Analizaremos MVC a fondo y veremos por qué no es un buen patrón para aplicaciones web y cómo ADR está pensado para suplir todas sus carencias.
Cursos gratis de programación en Java. Principios de programación orientada a objetos. Orientado a Grado, DAM y DAW. Otros cursos disponibles para Android, Swift, Base de datos, javascript, servicios y procesos...
Similar a JAVA ORIENTADO A OBJETOS - INTERFACES (20)
La dificultad de programar páginas JSP, es el uso de los scriptlets, ya que se esta combinando etiquetas HTML y código Java.
JSTL es un conjunto de etiquetas que hace el desarrollo de páginas JSP mucho más fácil. También define un lenguaje de expresiones (EL) que junto a las etiquetas JSTL te ayudarán a que realices páginas JSP mucho mas estructuradas y fácil de entender.
✅ CURSOS VIRTUALES EN UDEMY
⏺ FUNDAMENTOS DE PROGRAMACIÓN: Aprende las mejores practicas
https://www.udemy.com/course/fund-java/?referralCode=59EF4456EC0F433C641E
⏺ PROGRAMACIÓN DE BASE DE DATOS ORACLE CON PL/SQL
https://www.udemy.com/course/lenguaje-plsql/?referralCode=3B8A67CA0AADFCFB930C
⏺ CURSO PROFESIONAL DE JAVA ORIENTADO A OBJETOS
https://www.udemy.com/course/java-orientado-a-objetos/?referralCode=ED949D58C79D27158E8D
⏺ PROGRAMACIÓN DE BASE DE DATOS ORACLE CON JAVA JDBC
https://www.udemy.com/course/java-jdbc-oracle/?referralCode=C518C8D3028403F7F6DF
✅ ENLACES DE INTERES
⏺ Cursos virtuales: https://gcoronelc.github.io
⏺ Canal de YouTube: https://www.youtube.com/DesarrollaSoftware
⏺ Blog: http://desarrollasoftware.com/
⏺ Contacto: gcoronelc@gmail.com
El Patrón Model-View-Controller (MVC) es el mas utilizado en desarrollo web.
Este patrón permite estructurar una aplicación web en tres capas, donde cada una tiene una responsabilidad bien definida, haciendo mas fácil el desarrollo y mantenimiento de la aplicación.
✅ CURSOS VIRTUALES EN UDEMY
⏺ FUNDAMENTOS DE PROGRAMACIÓN: Aprende las mejores practicas
https://www.udemy.com/course/fund-java/?referralCode=59EF4456EC0F433C641E
⏺ PROGRAMACIÓN DE BASE DE DATOS ORACLE CON PL/SQL
https://www.udemy.com/course/lenguaje-plsql/?referralCode=3B8A67CA0AADFCFB930C
⏺ CURSO PROFESIONAL DE JAVA ORIENTADO A OBJETOS
https://www.udemy.com/course/java-orientado-a-objetos/?referralCode=ED949D58C79D27158E8D
⏺ PROGRAMACIÓN DE BASE DE DATOS ORACLE CON JAVA JDBC
https://www.udemy.com/course/java-jdbc-oracle/?referralCode=C518C8D3028403F7F6DF
✅ ENLACES DE INTERES
⏺ Cursos virtuales: https://gcoronelc.github.io
⏺ Canal de YouTube: https://www.youtube.com/DesarrollaSoftware
⏺ Blog: http://desarrollasoftware.com/
⏺ Contacto: gcoronelc@gmail.com
Esta presentación es sobre JavaSerber Page (JSP) en la cual se detalla sus principales características.
✅ CURSOS VIRTUALES EN UDEMY
⏺ FUNDAMENTOS DE PROGRAMACIÓN: Aprende las mejores practicas
https://www.udemy.com/course/fund-java/?referralCode=59EF4456EC0F433C641E
⏺ PROGRAMACIÓN DE BASE DE DATOS ORACLE CON PL/SQL
https://www.udemy.com/course/lenguaje-plsql/?referralCode=3B8A67CA0AADFCFB930C
⏺ CURSO PROFESIONAL DE JAVA ORIENTADO A OBJETOS
https://www.udemy.com/course/java-orientado-a-objetos/?referralCode=ED949D58C79D27158E8D
⏺ PROGRAMACIÓN DE BASE DE DATOS ORACLE CON JAVA JDBC
https://www.udemy.com/course/java-jdbc-oracle/?referralCode=C518C8D3028403F7F6DF
✅ ENLACES DE INTERES
⏺ Cursos virtuales: https://gcoronelc.github.io
⏺ Canal de YouTube: https://www.youtube.com/DesarrollaSoftware
⏺ Blog: http://desarrollasoftware.com/
⏺ Contacto: gcoronelc@gmail.com
En esta lección se desarrolla el tema SERVLETS del desarrollo web con Java.
✅ CURSOS VIRTUALES EN UDEMY
⏺ FUNDAMENTOS DE PROGRAMACIÓN: Aprende las mejores practicas
https://www.udemy.com/course/fund-java/?referralCode=59EF4456EC0F433C641E
⏺ PROGRAMACIÓN DE BASE DE DATOS ORACLE CON PL/SQL
https://www.udemy.com/course/lenguaje-plsql/?referralCode=3B8A67CA0AADFCFB930C
⏺ CURSO PROFESIONAL DE JAVA ORIENTADO A OBJETOS
https://www.udemy.com/course/java-orientado-a-objetos/?referralCode=ED949D58C79D27158E8D
⏺ PROGRAMACIÓN DE BASE DE DATOS ORACLE CON JAVA JDBC
https://www.udemy.com/course/java-jdbc-oracle/?referralCode=C518C8D3028403F7F6DF
✅ ENLACES DE INTERES
⏺ Cursos virtuales: https://gcoronelc.github.io
⏺ Canal de YouTube: https://www.youtube.com/DesarrollaSoftware
⏺ Blog: http://desarrollasoftware.com/
⏺ Contacto: gcoronelc@gmail.com
En esta presentación se realiza una descripción general del taller de desarrollo web con Java.
✅ CURSOS VIRTUALES EN UDEMY
⏺ FUNDAMENTOS DE PROGRAMACIÓN: Aprende las mejores practicas
https://www.udemy.com/course/fund-java/?referralCode=59EF4456EC0F433C641E
⏺ PROGRAMACIÓN DE BASE DE DATOS ORACLE CON PL/SQL
https://www.udemy.com/course/lenguaje-plsql/?referralCode=3B8A67CA0AADFCFB930C
⏺ CURSO PROFESIONAL DE JAVA ORIENTADO A OBJETOS
https://www.udemy.com/course/java-orientado-a-objetos/?referralCode=ED949D58C79D27158E8D
⏺ PROGRAMACIÓN DE BASE DE DATOS ORACLE CON JAVA JDBC
https://www.udemy.com/course/java-jdbc-oracle/?referralCode=C518C8D3028403F7F6DF
✅ ENLACES DE INTERES
⏺ Cursos virtuales: https://gcoronelc.github.io
⏺ Canal de YouTube: https://www.youtube.com/DesarrollaSoftware
⏺ Blog: http://desarrollasoftware.com/
⏺ Contacto: gcoronelc@gmail.com
Uno de los problemas a los que tenemos que enfrentarnos cuando creamos software es el control de errores, que pueden ser de diferentes tipos y naturaleza.
Quizás los mas difíciles de tratar son los errores lógicos, mas conocidos como BUGS, ya que por su naturaleza puede llevarnos horas y hasta días en solucionarlos.
En esta oportunidad veremos como controlar los errores en tiempo de ejecución, para lo cual en Java tenemos las Excepciones y la estructura try-catch-finally.
URL DEL CURSO EN #UDEMY: https://www.udemy.com/course/java-orientado-a-objetos/?referralCode=ED949D58C79D27158E8D
CUPONES DE DESCUENTO: https://github.com/gcoronelc/udemy
Canal de yotube: https://www.youtube.com/desarrollasoftware
#UDEMY #java #desarrollasoftware #netbeans #gcoronelc #clases
#objetos #arreglos #colecciones #software #programacion
#desarrollador #programador #aplicacion #fullstack
#backend #frontend #agil #scrum #agile #framework
Las colecciones son un conjunto de interfaces, clases abstractas y clases concretas que te permiten manejar una gran cantidad de datos relacionados en forma de listas para lo cual dispones de la interfaz List y la clase ArrayList, también como pares de datos CLAVE->VALOR para los cual dispones de la interfaz Map y la clase HashMap.
URL DEL CURSO EN #UDEMY: https://www.udemy.com/course/java-orientado-a-objetos/?referralCode=ED949D58C79D27158E8D
CUPONES DE DESCUENTO: https://github.com/gcoronelc/udemy
Canal de yotube: https://www.youtube.com/desarrollasoftware
#UDEMY #java #desarrollasoftware #netbeans #gcoronelc #clases
#objetos #arreglos #colecciones #software #programacion
#desarrollador #programador #aplicacion #fullstack
#backend #frontend #agil #scrum #agile #framework
Una de las necesidades con las que siempre nos encontramos cuando creamos software es el manejo de colecciones de datos, una de las formas de hacerlo es mediante arreglos.
En esta lección aprenderemos a crear arreglos de diferentes formas, también aprenderemos a recorrerlos de manera indexada y utilizando la técnica tipo colección. En la parte final desarrollaremos un caso ilustrativo.
URL DEL CURSO EN #UDEMY: https://www.udemy.com/course/java-orientado-a-objetos/?referralCode=ED949D58C79D27158E8D
CUPONES DE DESCUENTO: https://github.com/gcoronelc/udemy
Canal de yotube: https://www.youtube.com/desarrollasoftware
#UDEMY #java #desarrollasoftware #netbeans #gcoronelc #clases
#objetos #arreglos #colecciones #software #programacion
#desarrollador #programador #aplicacion #fullstack
#backend #frontend #agil #scrum #agile #framework
En esta lección desarrollaremos los conceptos de miembros con alcance de clase y alcance de instancia, el acceso a variables y métodos, así como también el inicializador estático. Finalizaremos la lección con el desarrollo de un proyecto aplicativo.
URL DEL CURSO EN #UDEMY: https://www.udemy.com/course/java-orientado-a-objetos/?referralCode=ED949D58C79D27158E8D
CUPONES DE DESCUENTO: https://github.com/gcoronelc/udemy
Canal de yotube: https://www.youtube.com/desarrollasoftware
#UDEMY #java #desarrollasoftware #netbeans #gcoronelc #clases
#objetos #arreglos #colecciones #software #programacion
#desarrollador #programador #aplicacion #fullstack
#backend #frontend #agil #scrum #agile #framework
En esta clase se desarrolla el concepto de sobrecarga, esta característica te permite tener varios constructores con el mismo nombre, así como también, varios métodos con el mismo nombre.
URL DEL CURSO EN #UDEMY: https://www.udemy.com/course/java-orientado-a-objetos/?referralCode=ED949D58C79D27158E8D
CUPONES DE DESCUENTO: https://github.com/gcoronelc/udemy
Canal de yotube: https://www.youtube.com/desarrollasoftware
#UDEMY #java #desarrollasoftware #netbeans #gcoronelc #clases
#objetos #arreglos #colecciones #software #programacion
#desarrollador #programador #aplicacion #fullstack
#backend #frontend #agil #scrum #agile #framework
En esta clase se estudia los miembros de una clase.
URL DEL CURSO EN #UDEMY: https://www.udemy.com/course/java-orientado-a-objetos/?referralCode=ED949D58C79D27158E8D
CUPONES DE DESCUENTO: https://github.com/gcoronelc/udemy
Canal en yotube: https://www.youtube.com/desarrollasoftware
#UDEMY #java #desarrollasoftware #netbeans #gcoronelc #clases
#objetos #arreglos #colecciones #software #programacion
#desarrollador #programador #aplicacion #fullstack
#backend #frontend #agil #scrum #agile #framework
En esta clase se desarrolla los conceptos de clases y objetos, que son la base de la programación orientada a orientación a objetos.
URL DEL CURSO EN #UDEMY: https://www.udemy.com/course/java-orientado-a-objetos/?referralCode=ED949D58C79D27158E8D
#Java #NetBeans #GCORONELC #DESARROLLASOFTWARE #UDEMY
Esta es una clase introductoria del CURSO PROFESIONAL DE JAVA ORIENTADO A OBJETOS
El curso lo encuentras en: https://www.udemy.com/course/java-orientado-a-objetos/?referralCode=ED949D58C79D27158E8D
Puedes encontrar cupones de descuento en: https://github.com/gcoronelc/udemy
Te invito a que visites mi canal: www.youtube.com/DesarrollaSoftware
En esta presentación se presenta un conjunto de buenas practicas para desarrollar software.
Desarrollar software utilizando buenas practicas te ayuda a tener un producto escalable y de fácil mantenimiento.
✅ CURSOS VIRTUALES EN UDEMY
⏺ FUNDAMENTOS DE PROGRAMACIÓN: Aprende las mejores practicas
https://www.udemy.com/course/fund-java/?referralCode=59EF4456EC0F433C641E
⏺ PROGRAMACIÓN DE BASE DE DATOS ORACLE CON PL/SQL
https://www.udemy.com/course/lenguaje-plsql/?referralCode=3B8A67CA0AADFCFB930C
⏺ CURSO PROFESIONAL DE JAVA ORIENTADO A OBJETOS
https://www.udemy.com/course/java-orientado-a-objetos/?referralCode=ED949D58C79D27158E8D
⏺ PROGRAMACIÓN DE BASE DE DATOS ORACLE CON JAVA JDBC
https://www.udemy.com/course/java-jdbc-oracle/?referralCode=C518C8D3028403F7F6DF
✅ ENLACES DE INTERES
⏺ Cursos virtuales: https://gcoronelc.github.io
⏺ Canal de YouTube: https://www.youtube.com/DesarrollaSoftware
⏺ Blog: http://desarrollasoftware.com/
⏺ Contacto: gcoronelc@gmail.com
Las colecciones son un conjunto de interfaces, clases abstractas y clases concretas que nos permiten manejar cantidad de datos relacionados en forma de listas mediante la interfaz List y la clase ArrayList, también como pares de datos CLAVE -> VALOR mediante la interfaz Map y la clase HashMap.
Todas las clases que nos permiten manejas conjuntos de datos se agrupan en un marco de trabajo conocido como Java Colecction Framework (JCF), y entre sus características la que mas resalta es que soporte Generics, esto quiere decir que podemos crear por ejemplo lista genéricas de tipo Object o listas personalizadas, por ejemplo de tipo Producto, Cliente, Cuenta, etc.
Una de sus aplicación la tenemos en la capa DAO, por ejemplo, si estamos consultan los productos de una categoría, la capa DAO estaría retornando una lista con objetos de tipo Producto.
Todos los componentes de JCF se encuentran en el paquete java.util.
1. ENTERPRISE JAVA DEVELOPER
JAVA ORIENTADO A OBJETOS
Eric Gustavo Coronel Castillo
www.youtube.com/DesarrollaSoftware
gcoronelc.blogspot.com
INTERFACES
2. Temas
▪ Objetivo
▪ Interface
▪ Diferencia entre Clase Concreta, Abstracta
e Interface
▪ Polimorfismo
▪ Operador instanceof
▪ Casting
▪ Ligadura Estática y Dinámica
▪ Control de Acceso a los Miembros de una
Clase
▪ Proyecto Ejemplo
3. OBJETIVOS
▪ Aplicar interfaces en el diseño de componentes software.
▪ Aplicar el polimorfismo en el diseño de componentes software
Empleado
+ getSueldo() : Single
Contratado
+ getSueldo() : Single
+ getBonificacion() : Single
SinContrato
+ getSueldo() : Single
4. • Solo contienen operaciones (métodos) sin implementación, es decir solo la firma (signature).
• Las clases son las encargadas de implementar las operaciones (métodos) de una o varias
interfaces (Herencia múltiple).
• Se dice que se crean Interface cuando sabemos que queremos y no sabemos como hacerlo, y lo
hará otro o lo harán de varias formas (polimorfismo).
public interface IPersona {
void operacion1();
void operacion2();
}
public class Empleado implements IPersona {
public void operacion1() {
//implementa el método de la interface
}
public void operacion2() {
//implementa el método de la interface
}
public void operacion3() {
//implementación
}
}
Interface
Métodos sin
implementación
(Clase Concreta)
tiene la obligación
de implementar
los métodos de la
Interface
Realización
INTERFACE
5. Ejemplo de Herencia múltiple de Interface.
public interface IPersona {
void operacion1();
void operacion2();
}
public class Empleado
implements Ipersona, IMantenimiento {
// Implementa los métodos de las interfaces
// . . .
// . . .
// . . .
}
public interface IMantenimiento {
void insertar();
void eliminar();
void modificar();
}
INTERFACE
6. CLASE CONCRETA, ABSTRACTA E INTERFACE
CARACTERISTICA CLASE CONCRETA CLASE ABSTRACTA INTERFACE
HERENCIA
extends
(simple)
extends
(simple)
implements
(múltiple)
INSTANCIABLE
Si No No
IMPLEMENTA
Métodos Algunos métodos Nada
DATOS
Se permite Se permite No se permite*
* Las variables que se declaran en una interface son implícitamente estáticas, finales y publicas.
7. • Se dice que existe polimorfismo cuando un método definido en una clase o interface es
implementado de varias formas en otras clases.
• Algunos ejemplos de polimorfismos de herencia son: sobre-escritura, implementación de métodos
abstractos (clase abstracta e interface).
• Es posible apuntar a un objeto con una variable de tipo de clase padre (supercalse), esta sólo podrá
acceder a los miembros (campos y métodos) que le pertenece.
// Variable de tipo Empleado y apunta a un
// objeto de tipo Contratado.
Empleado objEmp = new Contratado();
// Invocando sus métodos
double s = objEmp.getSueldo(); //OK
double b = objEmp.getBonificacion(); //Error
Empleado
+ getSueldo() : Single
Contratado
+ getSueldo() : Single
+ getBonificacion() : Single
SinContrato
+ getSueldo() : Single
POLIMORFISMO
8. • El método getGratificacion puede recibir objetos de Empleado o subtipos a este.
• Cuando invoque el método getSueldo se ejecutará la versión correspondiente al objeto referenciado.
public class Planilla {
public static double
getGratificacion(Empleado emp){
return emp.getSueldo() * 1.5;
}
}
// Usando la clase Planilla
double g1 = Planilla.getGratificacion(new Contratado());
double g2 = Planilla.getGratificacion(new SinContratado());
POLIMORFISMO
9. • Este operador permite verificar si el objeto es de un tipo determinado, es decir, el objeto debe
pasar por la verificación ES-UN para una determinada clase o interface.
public class Planilla {
public static double getGratificacion(Empleado emp){
if (emp instanceof Contratado)
return Emp.getSueldo() * 1.5;
if (emp instanceof SinContratado)
return Emp.getSueldo() * 1.2;
}
}
//Usando la clase Planilla
double g1 = Planilla.getGratificacion(new Contratado());
double g2 = Planilla.getGratificacion(new SinContratado());
OPERADOR instanceof
10. • Para restablecer la funcionalidad completa de un objeto, que es de un tipo y hace referencia a otro
tipo, debe realizar una conversión (Cast).
• UpCasting: Conversión a clases superiores de la jerarquía de clases (Herencia), es automático
(conversión implícita), basta realizar la asignación.
• DownCasting: Conversión hacia abajo, es decir hacia las subclases de la jerarquía (Herencia), es
recomendable realizar Cast (conversión explicita), si no es compatible genera un error (Excepción).
// UpCasting (Conversión implícita)
Contratado a = new Contratado();
Empleado b = a;
// DownCasting (Conversión explícita)
Empleado a = new Contrtado();
Contratado b = (Contratado) a;
// Error de compilación
SinContrato a = new SinContrato();
Contratado b = (Contratado) a;
CASTING
11. LIGADURA ESTÁTICA Y DINÁMICA
▪ La ligadura dinámica se encarga de ligar o relacionar la llamada a un método con el
cuerpo del método que se ejecuta finalmente.
▪ Ligadura estática:
– Consiste en realizar el proceso de ligadura en tiempo de compilación según el tipo
del objeto que se ha declarado al que se le envía el mensaje.
– Lo utilizan los métodos de clase y los métodos de instancia que son privados o final,
ya que estos últimos no pueden ser sobrescritos.
▪ Ligadura dinámica:
– Consiste en realizar el proceso de ligadura en tiempo de ejecución siendo la forma
dinámica del objeto la que determina la versión del método a ejecutar.
– Se utiliza en todos los métodos de instancia de Java que no son privados, ni final.
12. LIGADURA ESTÁTICA Y DINÁMICA
FUNCIONAMIENTO DE LA LIGADURA DINÁMICA
▪ Resolución de conflictos entre Superclases y Subclases:
– Cuando existe un conflicto entre un método de una superclase y un método de la
subclase, el comportamiento correcto es que el método de la subclase sobrescriba
al de la superclase.
– Si estamos llamando a un método de la subclase desde una variable que ha sido
declarada del tipo de la superclase. ¿Cómo se consigue que funcione
correctamente?
▪ Ligadura Dinámica:
– Significa que la forma dinámica del objeto determina la versión de la operación que
se aplicará.
– Esta capacidad de las operaciones para adaptarse automáticamente a los objetos a
los cuales se aplican es una de las propiedades más importantes de la orientación a
objetos.
13. LIGADURA ESTÁTICA Y DINÁMICA
CARACTERÍSTICAS DE LA LIGADURA DINÁMICA
▪ Puede variar de un lenguaje a otro, pero básicamente presentan
características comunes.
▪ Los métodos que necesitan ligadura dinámica:
– Deben presentar ligadura dinámica solo aquellos que pueden
ser redefinidos.
– Por ejemplo, en Java, los métodos de clase y los métodos de
instancia privados y/o finales no presentan ligadura dinámica.
– En Java, si no se especifica nada se entenderá que el método
puede ser redefinido y por tanto debe presentar ligadura
dinámica.
16. ▪ Se conoce 4 formas de controlar el acceso a los campos (atributos) y métodos (operaciones) de las clases.
➢ private ( - ): Acceso sólo dentro de la clase.
➢ package (~) : Acceso sólo dentro del paquete.
➢ protected ( # ): Acceso en la clase, dentro del paquete y en subclases (herencia dentro o fuera del
paquete).
➢ public ( + ): Acceso desde cualquier parte.
CONTROL DE ACCESO A LOS MIEMBROS DE UNA CLASE
Acceso
Visibilidad
Misma
Clase
Mismo Paquete SubClases
y
Mismo Paquete
Universal
public ( + ) Sí Sí Sí Sí
protected ( # ) Sí Sí Sí No
package (~) Sí Sí No No
private ( - ) Sí No No No
17. PROYECTO EJEMPLO
▪ La institución educativa EduTec cuenta con
dos tipos de trabajadores: Empleados y
Docentes.
▪ Los empleados cuentan con un sueldo fijo y
depende del cargo que ocupa, según la tabla
SUELDO DE EMPLEADOS.
▪ El sueldo del docente está en función de las
horas que dicta, el pago por hora es de 150
Soles.
▪ El departamento de recursos humanos
necesita una aplicación para calcular el pago
de un trabajador incluyendo su bonificación
según la tabla BONIFICACIÓN DE
TRABAJADORES.
CARGO SUELDO
Coordinador 5,000.00
Asistente 4,000.00
Secretaria 3,000.00
TRABAJADOR BONIFICACIÓN
Empleado 100% del Sueldo
Docente 70% del Sueldo
SUELDO DE EMPLEADOS
BONIFICACIÓN DE TRABAJADORES
20. FUNDAMENTOS DE
PROGRAMACIÓN CON JAVA
Aprende las mejores prácticas
PROGRAMACIÓN ORIENTADA
A OBJETOS CON JAVA
Aprende programación en capas,
patrones y buenas prácticas
PROGRAMACIÓN DE BASE
DE DATOS ORACLE CON
PL/SQL
Aprende a obtener el mejor
rendimiento de tú base de datos
PROGRAMACIÓN DE BASE
DE DATOS ORACLE CON
JDBC
Aprende a programar
correctamente con JDBC
https://github.com/gcoronelc/UDEMY