Este curso deben de renovarlo porque continua con el curso viejo de Java SE 2018 y no con el nuevo que sacaron de introducción a Java y Java orientado a objetos. Eso de Amazon viewer no es para nada práctico ya deben usar el IntelliJ Idea
Introducción al Curso
Bienvenidos al Curso Avanzado de Java SE
Clases avanzadas
Clases Abstractas
Implementando clases abstractas al proyecto
Ejercicio. Clases Abstractas
Implementando métodos abstractos en Java
JavaDocs
Qué es JavaDocs
Implementando JavaDocs al proyecto
Reto
JavaDocs tags para herencia e interfaces
Generado Java Docs
Clases Anidadas
Clases anidadas y tipos
Ejercicio. Clases Anidadas
Implementando una clase anidada al proyecto
Instanciando clases estáticas anidadas
Enumerations
Interfaces Avanzadas
Métodos con implementación métodos default y private
Creando Interfaz DAO con métodos default y private
Ejercicio. Interfaz DAO
Diferencia Interfaces y Clases Abstractas
Herencia en Interfaces
Colecciones Avanzadas
Map, HashMap, TreeMap y LinkedHashMap
Excepciones
Manejo de errores
Try-catch-finally / Try-with-resources
JDBC
Definición y composición del API
Ejercicio. JDBC API
Creando la base de datos y conectando el proyecto con MySQL
Generando conexión a la base de datos y creando clase de constantes
Sentencia SELECT en Java
Sentencia SELECT con Parámetros
Sentencia INSERT en Java
Reto: Reporte por fecha
Lambdas
¿Cómo resolver el reto: reporte por fecha?
Interfaces funcionales
Programación Funcional
Lambdas
Ejercicio. Lambdas
Lambdas como variables y Recursividad
Stream y Filter
Predicate y Consumer
Fin del Curso
Conclusión del curso
Anahí Salgado Díaz de la Vega
Aportes 46
Preguntas 8
Este curso deben de renovarlo porque continua con el curso viejo de Java SE 2018 y no con el nuevo que sacaron de introducción a Java y Java orientado a objetos. Eso de Amazon viewer no es para nada práctico ya deben usar el IntelliJ Idea
Como que mejor comienzo por el curso de Java Orientado a Objetos jaja
UN PEQUEÑO REPASO DE ALGUNAS COSAS DEL CURSO ANTERIOR PARA REFRESCAR LA MEMORIA:
toString:
Información completa de un objeto, es decir, el valor de sus atributos
HERENCIA:
Esto es una de las bases de la reutilización de código, en lugar de copiar y pegar. Al heredar de una clase base heredaremos tanto los atributos como los métodos, mientras que los constructores son utilizados, pero no heredados.
POLIMORFISMO:
Se da en los métodos sobrescritos, muchas formas de definir un método.
MÉTODO CONSTRUCTOR:
Cuando se construye un objeto es necesario inicializar sus variables con valores coherentes, imaginemos un objeto de la clase Persona cuyo atributo color de pelo al nacer sea verde, un estado incorrecto tras construir el objeto persona. La solución en los lenguajes orientados a objetos es emplear los constructores. Un constructor es un método perteneciente a la clase que posee unas características especiales:
INTERFACES:
Empleadas para definir un comportamiento que posteriormente será implementado por distintas clases, que podrían no tener que ver entre sí, pero todas se comportan como los métodos declarados en la interfaz.
HACE FALTA MUCHO MÁS DEL CURSO ANTERIOR, PERO, ES SÓLO PARA ENTENDER BIEN EL CONCEPTO DE CLASES ABSTRACTAS
.
aqui el enlace de AMAZON VIEWeR
Me parece muy raro que tanto tiempo despues no se han actualizado los cursos
Clases Abstractas
En Java se dice que son clases abstractas aquellas clases base (superclases) de las que no se permite la creación de objetos. Para ello, se utiliza la palabra clave abstract.
Métodos Abstractos
En una clase abstracta es posible definir métodos abstractos, los cuales se caracterizan por el hecho de que no pueden ser implementados en la clase base. De ellos, solo se escribe su signatura en la superclase, y su funcionalidad –polimórfica– tiene que indicarse en las clases derivadas (subclases).
En java tenemos:
polimorfismo estático: Sobrecarga de metodos.
polimorfismo dinámico: Sobreescritura de metodos.
A Alguien más le dio errores al momento de implementar el proyecto anterior? Por que yo no he logrado hacer andar el import com.anncode.makereport.Report; por que me dice que no se puede resolver y cuando uso el mio, lo toma como diferente al que uso la Profesora… alguien más lo resolvio?
veamos si se puede avanzar sin ver el curso del 2018 😃
Wuao 🤯… Por ahí viene mucho que aprender 💪🏽
Ejemplo clase abstracta:
Las clases abstractas es como organizar el código de los mas global a lo mas especifico, en este caso un ejemplo seria
la clase figura en el cual puede contener triángulos, círculos,
Las clases especificas seria triángulos o circulo
Nunca habia utilizado esa clase de polimorfismo!
Hola que tal!
En el ejemplo de Triangulo extends Figura como esa clase no implementa el método abstracto de la clase padre automáticamente esta clase se convierte en abstracta. Por que para que una clase sea abstracta por lo menos un método tiene que ser abstracto. ¿Es esto correcto?
Ejemplo de código de implementacion
<package abstracts;
public abstract class Figura {
abstract void dibujar();
}
>
Implementacion
</*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package abstracts;
/**
*
* @author wilso
*/
public class Circulo extends Figura {
@Override
void dibujar() {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
}
>
Genial.
No puedo abrir AmazonViewer alguien me puede ayudar?
Bueno llegue hasta aqui y claramente no puedo seguir con este curso, pues esta desactualizado con el curso anterior: Java basico 2018 algo asi y yo estoy siguiendo los de ahora 2020. Ni modo, ire a hacer el curso viejo para seguir con este, pero deben actualizar cuanto antes.
No existe el término clases avanzadas, veremos entonces una extensión de lo que podemos hacer con las clases en Java.
En el curso anterior hablamos de Polimorfismo a nivel de herencia y aplicado a interfeces.
Interfaces:
A veces no es necesario implementar todos los métodos
Herencia:
No siempre queremos heredar todos los métodos de la clase padre. Tampoco es necesario hacer instancias de la clase padre.
Quien soluciona los detalles que le faltan de implementar a la herencia y las interfaces son las clases abstractas.
Clase abstracta:
No implementa todos los métodos.
No crearemos instancias de la clase padre.
Es otro nivel de polimorfismo
un curso de hace 5 años. 😦
Gente no se desanimen, no necesitan dar los cursos anteriores, con todo lo que saben ahora, simplemente pueden leer el codigo anterior y continuar esta clase, para uds será fázil
Una interfaz prácticamente es como si fuera una clase abstracta en la cual por defecto sus atributos son públicos, estáticos y finales, los métodos no estáticos son públicos y abstractos (podiendo quitar lo abstracto con la palabra reservada default para poder implementar la función), y donde el constructor esta vacío.
public abstract class Figura {
public abstract double area();
}
Leyendo los comentarios me di cuenta que muchos tienen problema con seguir el curso usando Intellij IDEA. Les dejo mi repositorio allí se encuentra el código base para iniciar este curso usando este IDE.
https://github.com/IngJuanMaSuarez/AmazonViewer
Solo descargan o clonan el repositorio, abren Intellij IDEA, seleccionan la opción de “Open”, buscan la carpeta descargada y descomprimida y listo.
Cree un repositorio del código inicial de este curso:
https://github.com/JordyAI/java_avanzado_platzi/
Recuerden cambiar a rama Master, es la versión inicial.
Excelente explicación.
Muy bueno !
Hola… compañeros tengo un problema y es que sucede de que cuando yo descargo el proyecto de git me sale error con todos los System.out.print quien me puede ayudar por favor.
Muy bien excelente clase
La clases abstractas son aquellas clases que son declaradas de tal forma que no sea posible crear instancias de estas. Solo se utilizan como superclases en jeraquias de herencia.
El propósito de una clase abstracta es proporcionar una superclase apropiada, a partir de la cual puedan
heredar otras clases y, por ende, compartir un diseño común.
La forma de declarar una clase como abstracta es con la palabra reservada abstract
Excelente!!
muy buena explicación!!
Las clases abstracta: “son como una fusión entre las cosas que le faltan a la interfaz por implementar y a ala herencia por cubrir”.
Un método que sea obligatorio de implementar en una clase abstracta deberá definirse con la misma palabra reservada que la clase.
Ejemplo:
public abstract class Figura{
abstract void dibújate();
}
sesadas```
APUNTES DE CLASE:
CLASES ABSTRACTAS:
Una clase abstracta es una especie de fusión de interface y herencia que complementa lo que hace falta en ambas.
Se puede definir en una clase abstracta qué cosas o qué métodos sí son obligatorios de implementar y cuáles no.
No se pueden crear instancias de dicha clase
Todo el tiempo una clase abstracta va a ser una clase padre que puede heredar métodos (no es necesario heredar todos los métodos)
No es necesario heredar todos los métodos de una clase abstracta
Un método que sea obligatorio de implementar deberá tener la palabra “abstract”
@since
Especifique la versión del producto cuando el nombre de Java se agregó a la especificación de la API (si es diferente de la implementación). Por ejemplo, si un paquete, clase, interfaz o miembro se agregó a la plataforma Java 2, edición estándar, especificación de API en la versión 1.2, use:
/** * @since 1.2 */
El doclet estándar de Javadoc muestra un subtítulo "Desde" con el argumento de cadena como texto. Este subtítulo aparece en el texto generado solo en el lugar correspondiente a donde aparece la etiqueta @since en los comentarios del documento de origen (la herramienta Javadoc no la prolifera en la jerarquía).
(La convención una vez fue "@since JDK1.2", pero debido a que esta es una especificación de la Plataforma Java, no particular al JDK o SDK de Oracle, hemos eliminado "JDK").
Cuando se introduce un paquete, especifique una etiqueta @since en su descripción del paquete y cada una de sus clases. (Técnicamente, no es necesario agregar etiquetas @since a cada clase, pero es nuestra convención, ya que permite una mayor visibilidad en el código fuente). En ausencia de etiquetas de reemplazo, el valor de la etiqueta @since se aplica a cada una de las clases del paquete y miembros.
Cuando se introduce una clase (o interfaz), especifique una etiqueta @since en su descripción de la clase y ninguna etiqueta @since en los miembros. Agregue una etiqueta @since solo a los miembros agregados en una versión posterior a la clase. Esto minimiza el número de etiquetas @since.
Si un miembro cambia de protegido a público en una versión posterior, la etiqueta @since no cambiará, aunque ahora cualquier persona que llama, no solo los subclasificadores, puede utilizarla.
Donde puedo obtener el proyecto del que habla.
Pero @anncode, si le coloco abstract al método en la clase Triangulo, ¿Entonces la clase Triangulo sería abstracta?
GRacias
Muy buena clase instructora Anahí, para resumir una clase abstracta es aquella que no puede instanciarse y que no todos sus métodos tienen que implementarse, por lo cual es ideal para ser super clase o clase padre.
Para convertir una clase a clase abstracta tenemos que usar la palabra reservada abstract antes de class e igualmente para los métodos usar abstract antes del tipo de parámetro a regresar (void, int, String, entre otros.)
Eres la mejor miss
Tengo un problema al descargar el proyecto desde git https://es.stackoverflow.com/questions/381319/error-al-descargar-un-proyecto-desde-git a qui lo presento mas detalladamente agradecería alguna ayuda 😄
Buenos dias!!
Una consulta una clase abstracta necesariamente debe tener atributos y métodos? o se podría también declarar solo atributos en el caso de que esa clase no tenga ningún método?
Muchas gracias por sus respuestas!!
Gracias por los conceptos.
Podria ayudar esto.
Las clases abstractas representa un concepto génerico en una jerarquía de clases. Normarmente la clase abstracta no estan suficienmente definida para ser útil por sí misma. Puede contener una descripcion parcial que heredan todos sus descendientes en la jerarquía de clases. Sus hijos, que son más especificos, ellos llenan los vacíos.
Esto ya me gustó, un buen inicio. A aprender.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?