Curso Java #05 - Heranca, Polimorfismo e Classe abstratas

381 visualizações

Publicada em

Heranca, Polimorfismo e Classe abstratas

Publicada em: Educação
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Curso Java #05 - Heranca, Polimorfismo e Classe abstratas

  1. 1. PROGRAMAÇÃO ORIENTADA A OBJETOS -PROGRAMAÇÃO ORIENTADA A OBJETOS - JAVAJAVA Prof.RenatoFilho SENAC 2014
  2. 2. PARADIGMA ORIENTADO A OBJETOSPARADIGMA ORIENTADO A OBJETOS Herança Polimorfismo
  3. 3. HERANÇAHERANÇA Mecanismoparareutilizaçãodecódigoentreclasses. Aclassequeéherdadachama-seclasse-mãeousuperclasse. Aclasseherdachama-seclasse-filhaousubclasse.
  4. 4. PARA QUE USAR HERANÇA?PARA QUE USAR HERANÇA?
  5. 5. POR QUE USAR HERANÇA?POR QUE USAR HERANÇA?
  6. 6. SINTAXE DA HERANÇASINTAXE DA HERANÇA Apalavraextendsdefinequeumaclasseherdaoutra. public class Pessoa { // atributos e métodos } public class PessoaFisica extends Pessoa { } public class PessoaJuridica extends Pessoa{ }
  7. 7. CLASSES FINAISCLASSES FINAIS Umaclassefinalnãopodeserherdada,identificamosumaclasses destetipopelapresençadapalavra-reservadafinal. public final class PessoaEstrangeira {} final public class PessoaEstrangeira {}
  8. 8. CONTROLE DE ACESSOCONTROLE DE ACESSO Nívelde acesso Mesma classe Classes filhas Classesdo mesmo pacote Classesde outropacote public sim sim sim sim protected sim sim sim não default sim não sim não private sim não não não
  9. 9. COMO FUNCIONA A HERANÇA AOCOMO FUNCIONA A HERANÇA AO INSTANCIAR UM OBJETO?INSTANCIAR UM OBJETO? Aoseinstanciarumobjetodeumaclassefilhatodosos construtoresdaclassemaisgenéricaatéamaisespecíficasão chamados.
  10. 10. PALAVRA RESERVADA SUPERPALAVRA RESERVADA SUPER Apalavrareservadasuperserveparaenfatizarachamadade algummétodonaclassemãeousuperclasse.
  11. 11. POLIMORFISMOPOLIMORFISMO Atravésdomecanismodeherança,umdeterminadoobjetopode assumirdiferentesformas,oqueéchamadodepolimorfismode classe. Pessoa pessoa; pessoa = new PessoaFisica(); pessoa.abrirConta(); pessoa = new PessoaJuridica(); pessoa.abrirConta();
  12. 12. CLASSES ABSTRATASCLASSES ABSTRATAS "Umaclasseabstrataéumaclassequeéincompleta,oué consideradoincompleta."-JavaSpecificationLanguage Umaclassequenãopossuiinstânciasdiretas.
  13. 13. CLASSES ABSTRATASCLASSES ABSTRATAS Classesquepossuemmétodosabstratos. Métodosabstratos-sãodeclaradosmasnãoimplementados.
  14. 14. CLASSES ABSTRATASCLASSES ABSTRATAS Umaclassesódeveserabstrata quandonãoseháinteresseem especificarimplementaçõesdealgunsmétodosquepertençama ela. Ou Herdarmétodosabstratosenãosedesejaimplementarestes métodos nasubclasse.
  15. 15. CLASSES ABSTRATASCLASSES ABSTRATAS Usa-seapalavrachaveabstractcomomodificadorcomplementar nadeclaraçãodaclasse. publicabstractclassClasseAbstrata{}
  16. 16. INTERFACESINTERFACES Umainterfaceéumaformadeimplementarcontratospara generalizarobjetoscomcomportamentoscomuns, porémde formamaisflexível. Nãodeterminacomonadaserfeito,apenasoquedeveserfeito.
  17. 17. INTERFACES EM JAVAINTERFACES EM JAVA public interface Entregador { public void entrega(); } public class EntregadorDeJornal implements Entregador{ public void entrega(){ // vai de bike } } public class EntregadorDePizza implements Entregador{ public void entrega(){ // vai de moto} } public class EntregadorDeEncomendas implements Entregador{ public void entrega(){ //vai de carro }; } public class EntregadorDeMudanca(){ public void entrega(){ //vai de caminhão }; }
  18. 18. QUANDO SE USA ISSO?QUANDO SE USA ISSO? Herança,PolimorfismoeAbstraçõesconceitosdoparadigma orientadoaobjetosqueoJAVAsuportaasuamaneira. Sãomaisligadosarequisitosnãofuncionais,ouseja,otipode requisitoquedizrespeitomaisainfraestruturadoprojetodoque basicamenteasuafinalidadeeobjetivos. PodeserusadonaconstruçãodeAPIs.

×