Interfaces X Classes Abstratas - Devmedia
-
Upload
amalia-eirez -
Category
Documents
-
view
6 -
download
0
description
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.