No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de Java SE Orientado a Objetos

Curso de Java SE Orientado a Objetos

Anahí Salgado Díaz de la Vega

Anahí Salgado Díaz de la Vega

Clases Anónimas

28/38
Recursos

Las Clases Anónimas son una forma de instanciar clases abstractas sin necesidad de usar sus clases hijas. Pero este tipo de instanciación tiene algunas restricciones: el ciclo de vida de estas instancias NO es duradero, no las tendremos disponibles durante toda la ejecución del programa.

// Clase Abstracta:
public abstract class Figura {
  abstract void dibujar();
}

// Clase Anónima:
User user = new User() {
  @Override
  public void showDataUser() {
    // Instrucciones...
  }
};

Aportes 41

Preguntas 3

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

Java hace 1 hora: las clases son como moldecitos para crear objetos, solo debemos instanciarlas…
Java hace 30 minutos: bueno, también existen las clases con métodos estáticos, estas funciones se pueden llamar/ejecutar sin necesidad de instanciar las clases…
Java hace 10 minutos: bueno, también existen las clases abstractas, son clases que nunca instanciamos pero que nos permiten definir métodos opcionales u obligatorios de implementar en las clases que hereden de ellas…
Java Ahora: bueno, también existen las clases anónimas, son un “hack” para instanciar clases abstractas…

😳😳😳😳😂

si no me gustase tanto Java y el hecho de la capacidad que nos da de realizar cosas increibles, ya hubiese renunciado a este curso, el nivel de complejidad aumenta pero el nivel de amor incrementa, definitivamente debe ser asi.

Java esta cañon, jaja muchos temas! aiuraaa

me va a explotar la cabeza :p

Termina siendo super complejo java, me encanto, hay muchas maneras de hacer todo

Así me esta dejando Java 😂

Hola parece ser que en la sección de recursos se ha colocado mal el ejemplo de la clase abstracta esto podría causar confusión

// Clase Abstracta:
public abstract class Figura {
  abstract void dibujar();
}

En lugar de esta sería

// Clase Abstracta:
public abstract class User {
  abstract void showDataUser();
}

En android existen muchas funciones anonimas, principalmente para dictar el comportamiento de los eventos en la pantalla


} con ;…¿Por qué?

Esta interesante la clase, pero no sé porque termine más confundido con esto de las clases anónimas

Nooooooooo 😮

Tantas cosas xD.

Estoy confundido con las clases anónimas.

¿Alguien sabe tal vez otro ejemplo mas claro de clases anónimas? 😃 😃

📦 Una clase anónima nos permite instanciar clases abstractas, con restricciones.

A como lo entiendo es que una Clase Anónima nos ayuda a darle un comportamiento diferente a un objeto específico de esta clase, mientras los demás objetos que se puedan crear de esta misma clase se comporten de la misma manera.

Además de esta aplicación también nos ayudan a poder instanciar clases abstractas.

Clases Anónimas
Las clases anónimas son un “hack” para poder instanciar clases abstractas, sin embargo tiene algunas restricciones, una de ellas es que el ciclo de vida de la instancia va a ser muy corto. Las clases anónimas son similares a las clases abstractas.


<h4>Aplicación</h4>
User user1 = new User("Juan","[email protected]") {
    @Override
    public void showDataUser() {
        System.out.println("Doctor");
        System.out.println("Hospital: ISSSTE");
        System.out.println("Departamento: Psicología");
    }
};

Lo que se hace es llamar al método abstracto que es obligatorio implementar y ahí mismo se le da el comportamiento que se necesite, pero solo estará vigente en esa clase.

La forma de llamar el método con el objeto que se creo es:

user1.showDataUser();

Una de las aplicaciones más usadas para las clases anónimas es para darle a un objeto de la interfaz de Android la característica de onClick, para que tenga un comportamiento cuando sea clickeado.

También es posible crear clases anónimas con interfaces e implementar igualmente los métodos de esta, se realiza de la misma manera.

Java por fuera se ve como un monstruo por dentro es un amor…

No entendí muy bien :C … si estamos hablando de clases anónimas porque los ejemplos es instanciar, entonces son objetos, por consiguiente no debería ser objetos anónimos?

Clases Anónimas: van de la mano con las clases abstractas, es una forma de instanciar una clases abstracta de manera anónima.

Buenas , una pregunta en que caso se podría usar la clase anonima

Las clases anónimas son super buenas cuando se hacen aplicaciones móviles

Lo único difícil de JAVA es su ENORME repertorio de opciones para RESOLVER problemas, me he enamorado de JAVA de una manera increible, su sintaxis dura tiene mucha lógica y utilidad.

Creo que este video me costo un poco, es bastante complejo pero me gusta bastante

Entendí que una clase anónima es cuando instancio una clase abstracta e implemento allí los métodos abstractos. eso y en lo correcto?

interesante 😃

Super!!

si seria bueno otro ejemplo

Muy bien, así que para poder hacer una instanciación de una clase abstracta tendremos que usar una clase anónima que estructuralmente se ve cómo combinar la creación de un objeto, la creación de una clase y una sobre escritura de métodos. Además, las clases anónimas son especialmente usadas para momentos precisos de la aplicación, por ejemplo, al hacer clic a un botón después de seleccionar varias opciones.

Excelente conocer esta forma de “hackear el sistema” y ademas con un caso de uso de la vida real.

Gracias @anncode


Las clases anónimas son un hack para instanciar las Clases Abstractas e Interfaces. Su tiempo de vida es muy corto, es solo para ese momento.

Las clases anónimas son un hack para instanciar las clases abstractas o interfaces, pero su tiempo de vida es muy corto, es solo en ese momento.

wow

Notas de esta Clase:

  • Clases Anónimas

    Son una especie de hack para instanciar Clases abstractas. Dicha instanciación es temporal, pues sólo esta vigente en el momento en que se hace la instanciación, no puede reutilizar en otra Clase el comportamiento definido en una Clase anónima.

    User user1 = new User("Felipe Molina", "[email protected]") {
        @Override
        public void showDataUser() {
    		// Implementación
        }
    }
    
    user1.showDataUser();
    

    Las Clases anónimas se usan mucho en desarrollo para Android, para por ejemplo hacer un elemento clickeable. Usando una Clase anónima se puede agregar el método onClickListener y darle un comportamiento que sólo va a ser vigente para ese momento.

    Las Clases anónimas también se pueden usar con interfaces:

    ISchedulable iSchedulable = new ISchedulable() {
        @Override
        public void schedule(Date date, String time) {
    
        }
    };
    
    ISchedulable iSchedulable1 = new AppointmentDoctor();
    iSchedulable1.schedule(...);
    

¿Debería aprender programación funcional con Java si lo quier es hacer apps para Android?

una clase abstracta es lo mismo que una clase anónima, es la manera de instanciar la clase sin el uso de una de las clases hija.

java ta potente a medida que voy avanzando las clases, esta desafiante pero me gusta cada vez más java ❤️