Interfaces X Classes Abstratas - Devmedia

download Interfaces X Classes Abstratas - Devmedia

of 4

description

interfaces e classes abstratas em java

Transcript of Interfaces X Classes Abstratas - Devmedia

  • 9/10/2015 InterfacesXClassesAbstratas

    data:text/htmlcharset=utf8,%3Cheader%20style%3D%22webkittaphighlightcolor%3A%20transparent%3B%20paddingbottom%3A%2045px%3B%20 1/4

    InterfacesXClassesAbstratasComoinciodoparadigmadedesenvolvimentoOO,algunstermossetornamcorriqueirosnomundodeprogramadoreseanalistasdesistema.Classes,herana,polimorfismosoalgunsdestestermos.NesteartigomostroasdiferenasesimilaridadesentreInterfaceseClassesAbstratas.

    Gostei(3) (0)

    ComoinciodoparadigmadedesenvolvimentoOO,algunstermossetornamcorriqueiros

    nomundodeprogramadoreseanalistasdesistema.Classes,herana,polimorfismoso

    algunsdestestermos.

    MassetratandodeClasses,sentiqueaindapersistemalgumasdvidasquantos

    diferenasentreclassesdotipoAbstrataseInterfaces.

    Socomunsosquestionamentos:Quandodevousarumaclasseabstrata?Quandodevo

    usarumaInterface?Devousarasduas?

    Naverdade,umaClasseAbstratasemqualquerimplementao,temoaspectparecidocom

    umaInterface.Masambaspossuemvriasdiferenasesimilaridadesentresi.Pensando

    nestetipodedvida,estepequenoartigotentaelucidaralgumasquestes.

    31Curtir5

  • 9/10/2015 InterfacesXClassesAbstratas

    data:text/htmlcharset=utf8,%3Cheader%20style%3D%22webkittaphighlightcolor%3A%20transparent%3B%20paddingbottom%3A%2045px%3B%20 2/4

    Interfaces:

    UmainterfacenoconsideradaumaClasseesimumaEntidade.

    Nopossuiimplementao,apenasassinatura,ouseja,apenasadefiniodosseus

    mtodossemocorpo.

    Todososmtodossoabstratos.

    SeusmtodossoimplicitamentePblicoseAbstratos.

    NohcomofazerumainstnciadeumaInterfaceenemcomocriarumConstrutor.

    Funcionamcomoumtipode"contrato",ondesoespecificadososatributos,mtodos

    efunesqueasclassesqueimplementemessainterfacesoobrigadasaimplementar.

    JqueC#nosuportaHeranasMltiplas,asInterfacessousadaspara

    implementlas.

    ClassesAbstratas:

    Asclassesabstratasdevemconterpelomenosummtodoabstrato,quenotem

    corpo.

    umtipoespecialdeclassequenohcomocriarinstnciasdela.

    usadaapenasparaserherdada,funcionacomoumasuperclasse.

    Umagrandevantagemqueforaahierarquiaparatodasassubclasses.

    umtipodecontratoquefazcomqueassubclassescontemplemasmesmas

    hierarquiase/oupadres.

    Overview:

  • 9/10/2015 InterfacesXClassesAbstratas

    data:text/htmlcharset=utf8,%3Cheader%20style%3D%22webkittaphighlightcolor%3A%20transparent%3B%20paddingbottom%3A%2045px%3B%20 3/4

    QuandonoscriamosumaInterface,nsestamosbasicamentecriandoumsetdemtodos

    semqualquerimplementaoquedeveserherdadoporoutrasclassesjimplementadas.A

    vantagemquedestaformaconsegueseproverumcaminhoparaumaclasseserpartede

    duasclasses:umaherdadahierarquicamenteeoutradaInterface.

    QuandonoscriamosumaClasseAbstrata,nsestamoscriandoumaclassebasequepode

    terumoumaismtodoscompletos,maspelomenosumoumaisdestesmtodostemque

    criadosincompletos(semcorpo),istocaracterizaumaClasseAbstrata.

    Valelembrarque,setodososmtododaClasseabstrataforemsemcorpo,elasetorna

    umaInterface.

    OpropsitodeumaClasseAbstrataproverumabasededefiniesdecomoumsetde

    ClassesDerivadasirotrabalhareentopermitirosprogramadoresdepreencheras

    implementaesnasClassesderivadas.

    Abaixoumquadrocomparativoparatornarmaisfcilacompreensoentrediferenase

    similaridadesentreClassesAbstrataseInterfaces.

    Caracterstica Interface ClasseAbstrata

    Heranamltipla Umaclassepodeimplementardiversasinterfaces

    Umaclassepodeherdarsomenteumaclasse

    ImplementaoPadro

    Umainterfacenopodeconterqualquertipodecdigo,muitomenoscdigopadro.

    Umaclasseabstratapodefornecercdigocompleto,cdigopadroouterapenasadeclaraodeseuesqueletoparaserposteriormentesobrescrita.

    Constantes Suportesomenteconstantesdotipoesttica.

    Podeconterconstantesestticasedeinstncia.

    Componentesdeterceiros

    Umaimplementaodeumainterfacepodeserincludaaqualquerclassedeterceiros.

    Umaclassedeterceirosprecisaserreescritaparaestendersomenteapartirdaclasseabstrata.

  • 9/10/2015 InterfacesXClassesAbstratas

    data:text/htmlcharset=utf8,%3Cheader%20style%3D%22webkittaphighlightcolor%3A%20transparent%3B%20paddingbottom%3A%2045px%3B%20 4/4

    Homogeneidade Setodasasdiversasimplementaescompartilhamaassinaturadomtodoentoainterfacefuncionamelhor.

    Seasvriasimplementaessotodasdotipoecompartilhamumcomportamentoestatuscomum,entoaclasseabstratafuncionamelhor.

    Manuteno Seocdigodoseuclienteconversasomenteemtermosdeumainterface,vocpodefacilmentealteraraimplementaoconcretausandoummtodofactory.

    Idntico

    Velocidade Lento,requertrabalhoextraparaencontraromtodocorrespondentenaclasseatual.

    Rpido

    Clareza Todasasdeclaraesdeconstantesemumainterfacesopresumidamentepublicasouestticas.

    Vocpodeporcdigocompartilhadoemumaclasseabstrata.Vocpodeusarcdigoparacomputarovalorinicialdesuasconstantesevariveisdeinstnciaouestticas.

    FuncionalidadesAdicionais

    Sevocincluirumnovomtodoemumainterfacevocprecisaajustartodasasimplementaesdainterface.

    Sevocincluirumnovomtodoemumaclasseabstratavoctemaopodefornecerumaimplementaopadroparaele.