Classes, Interfaces e Objetos em JAVA
- #Java
Para aprender (ou ensinar) algo eu PRECISO tornar o objeto do meu estudo mais saboroso.... colocar "tompero" na matéria
E assim eu consigo ensinar melhor aquilo para alguém depois.
Continuando no meu estudo da Linguagem #JAVA eu precisava criar uma analogia completa que meu filho de 12 anos pudesse também entender #POO. Então escolhi a dinâmica do reality MasterChef para entendermos os conceitos de #Interface, #Classe e #Instancias.
Jurados/Regras representam as #INTERFACES: Assim como os jurados no MasterChef estabelecem as regras do que o cardápio da prova deve conter, as interfaces em Java definem um contrato (o QUÊ) que especifica quais métodos uma classe deve implementar, mas sem especificar COMO esses métodos devem ser implementados. Essas "regras" garantem que qualquer classe que "assine" esse contrato (implemente a interface) seguirá um padrão determinado.
Os competidores seriam as #Classes em Java: Os chefs, ao seguir as instruções dos jurados, podem decidir como irão preparar cada prato do cardápio , assim como as classes em Java decidem como implementar os #métodos definidos pela interface. Cada chef (classe) tem a liberdade de usar suas próprias técnicas, ingredientes e criatividade para cumprir os requisitos da prova (interface), desde que o resultado final atenda às expectativas dos jurados (cumpra o contrato da interface).
Os Pratos seriam então os #Objetos instanciados: Os pratos preparados pelos chefs seriam análogos aos objetos instanciados a partir das classes. Cada prato (objeto) é uma realização concreta do cardápio (classe) preparado seguindo as regras (interface). O mesmo menu (classe) pode resultar em pratos (objetos) diferentes, dependendo das escolhas e implementações do chef (desenvolvedor).
E ai, o que achou?