Cómo entender el significado de extender e implementar en el desarrollo de Java / Android

Estoy organizando una competencia. Tienes que diseñar tu propio auto.

¿Qué define un auto? Bueno, en aras de la discusión, digamos que tiene cuatro ruedas, al menos un asiento y un motor.

Esa es una idea bastante floja, ¿no? Se podría imaginar varias cosas muy diferentes que coinciden con la descripción, estoy seguro. Pero de cualquier manera, esa es la especificación que debe cumplir para tener la oportunidad de ganar.

La idea básica no realizada que le he dado es que es un buen candidato para una interfaz. Hagamos uno y llamemos a ese auto .

Desde su punto de vista, puede comenzar con algunas materias primas y construir algo que satisfaga el requisito.

Ahí tenemos el SofaCar . Es un automóvil que funciona desde cero y que implementa la interfaz Car .

Pero eso fue mucho trabajo, ¿no? Y arruinaste los muebles de tu abuela.

Podrías haber tomado algo que ya existe y entrometerse en él.

Esa hermosa vista para la vista es, erm, FerrariF430 que extiende el PeugeotCoupe . A su vez, ya sea directamente o por medio de sus antepasados, PeugeotCoupe implementa Car .

No necesitábamos absolutamente la interfaz del coche para ser justos. Podrías haber producido las mismas cosas sin esa etiqueta. Pero entonces, ¿cómo sabríamos que se ajusta a la factura?

‘Implementa’ y ‘extiende’ son dos formas de tratar las relaciones de herencia. Uno es una pizarra limpia y uno se basa en otra cosa.

Para comprender realmente esto y hacer cualquier cosa con enojo, como han sugerido otros, debe comprender un conjunto mucho más amplio de conceptos y paradigmas de OOP. Pero esa es la diferencia fundamental, y por qué tenemos ambos.

Primero debes tratar de entender los conceptos de polimorfismo en OO.

Pero en pocas palabras, usa implementos cuando desea implementar una interfaz, lo que significa que debe implementar los métodos definidos en la interfaz como si tuviera que seguir un contrato con las reglas definidas.

Y se extiende cuando quiere que una clase herede el comportamiento y los métodos de otra clase. es decir: si tiene una clase Animal que define un método eat (), puede crear una clase Dog que amplíe el comportamiento de Animal, en ese caso no necesita implementar ese método porque ya estaba definido en la clase padre y es un comportamiento común para todos los animales.

Extiende es el uso para la herencia cuya relación de padre-hijo / superclase-subclase / general-específico. Las clases secundarias tendrán todas las cosas públicas y protegidas (atributos y funciones) de sus padres (solo se puede extender una vez) incluso si no están escritas directamente en la clase secundaria. Ejemplo Human-Andy, Vehicle-Car, Car-Andy’sCar.

Implements es use for interface cuya relación no está directamente clara / hecha por ciertas condiciones. Implements se usa solo para asegurarse de que una clase o más se puedan clasificar por algo abstracto. Ejemplo Computadora, Pescado, Humano, Dinero-Recurso.

Antes de comprender las extensiones, debe saber sobre la interfaz, significa que tiene una clase incompleta y que la está completando extendiéndola, Implementar significa que está creando una clase secundaria de una clase y luego le agrega más funcionalidades.

Debe aprender el concepto de programación orientada a objetos. Cuando extiende una clase, yolu hereda las propiedades y métodos accesibles de esa clase. Cuando implementa una interfaz, le da una forma predefinida a su clase.

Extiende es una palabra clave que se define como herencia. Cuando desee usar clases ya definidas y desee agregar mecanismos adicionales a esas clases, debe usar la herencia

Lea un libro sobre los conceptos y vea los códigos de muestra

More Interesting

¿Cómo aprender el desarrollo de aplicaciones de Android por mi cuenta? Aprendí Java en NetBeans con MySQL en mi escuela. ¿Puedo aprenderlo a través de internet?

¿Cuáles son algunos programas de desarrollo de aplicaciones de Android como GSOC?

¿Cuál es la tarifa de consultoría por hora para un desarrollador de Android en el Área de la Bahía?

¿Qué cosas necesitas saber en Android como programador?

¿Cómo instalo Android Studio si tengo un sistema operativo Windows 8 con 2GB de RAM, Intel Dual core a 2.9GHz y 500GB HDD, y descargué JDK.exe, Installer_r24.4.1.exe (AndroidStudio) y SDK_tool.zip? Es posible

¿Dónde puedo obtener una aplicación de Android hecha a un precio asequible?

¿Cuál es el futuro y el alcance del desarrollo de Android en India?

Cómo administrar RPi con la aplicación de Android

¿Cuál es la mejor herramienta para crear una aplicación de Android con funciones simples de inicio de sesión y registro? Android Studio o alguna plataforma en línea?

¿Cuál es el mejor sitio / programa para aprender desarrollo de aplicaciones (android) para un niño de 15 años y qué idiomas son más importantes?

¿Cómo convertirse en un desarrollador de Android?

Cualquiera que sea la aplicación de Android que pienso desarrollar, creo que ya existe. ¿Cuáles son algunas ideas o algo que extrañan y que su teléfono debería tener?

¿Cuál es la mejor y más rápida forma de aprender Java y Android?

¿Qué tan difícil es desarrollar en la plataforma Android cuando estás familiarizado con iOS?

Si tengo el código de una aplicación de Android, ¿cómo puedo clonarlo?