Sunteți pe pagina 1din 8

ProgramaoOrientadaaObjetoscomC#(Parte7.

5)
Namespace
Categorias:Namespace

porThiagoRichardVanicore

Resumo:

Oobjetivonoseaplicaaestepost.

Uma vez que o contedo total desta srie foi dividido em partes, devese considerar absoluto o resumo da primeira postagem at o
momentopresente.

EstetemadasrieProgramaoOrientadaaObjetoscomC#irdemandarmaispublicaes.Sendoassim,anumeraosequencial
destapartedasriepassoude7.4para7.5(videttulo)eassimseguir(7.6,7.7)medianteanecessidadedeconcluso.

Palavraschaves:

Interface,Encapsulamento,Herana,Polimorfismo,Propriedades,Classe.

Texto:

MosaObra

ComaalteraodaclasseBilhetecorrigindoerrosanteriormenteindicadospelocompilador,oprximopassonaProgramaoOrientada
a Objetos com C# ser entender como Interfaces podem implementar escopos de maneira que o compilador no acuse erros por
violaodeNamespaces.

Adendo

PararealizaodoPostforamutilizadososseguintesProgramas:

Windows10Pro
MicrosoftVisualStudio2010UltimateSP1(ServicePack1).

A nica configurao realizada aps a instalao dos programas acima, foi manter o Microsoft Visual Studio sendo executado como
usurioAdministradordoSistemaOperacional,afimdeevitarmaioresproblemas.

AlterandoaInterfaceIBilhete

PartindodainterfaceIBilhete,podesevisualizar:

1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5
6 namespace ConsoleApplication
7 {
8 interface IBilhete
9 {
10 decimal Saldo();
11 decimal CobraTarifa();
12 void Debita();
13 }
14 }

Tela:
MicrosoftVisualStudio2010UltimateTeladaInterface

Devesemodificarareadainterface,alterandoaparaoseguintecdigo:

1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5
6 namespace linksinergia.metro.bilhete
7 {
8 interface IBilhete
9 {
10 decimal Saldo();
11 decimal CobraTarifa();
12 void Debita();
13 }
14 }

DetalhesdamodificaodaInterface:

ONamespaceantesnohaviasidoalterado(mantinhaseopadroConsoleApplication),agoraporobrigatoriedade,a
classeUnitariodefineanecessidadedainterfaceIBilhetedeclararsesobreomesmoNamespacequeaprimeiracitada,
remediandooserrosantesexibidospelocompiladorreferenteainterfaceIBilhete.

Telaaocolarocdigo:
MicrosoftVisualStudio2010UltimateTelaapsAlteraodaClasse

Porfim,devesesalvarainterfaceIBilheteesuasalteraesclicandonobotoSalvar.Telacomaconfirmaopositiva(verrodapda
janela)aoclicarnobotoSalvar:
MicrosoftVisualStudio2010UltimateTelaapsSalvaroProjeto

Finalizandooexemplo,restaapenasexecutaraAplicao,deveseentoclicarnobotoStartDebugging(F5):
MicrosoftVisualStudio2010UltimateExecuodaAplicao

Surgirumajaneladeconfirmao,clicarnobotoYes:
MicrosoftVisualStudio2010UltimateExecuodaAplicao

TelaaoclicarnobotoYes:
MicrosoftVisualStudio2010UltimateExecuodaAplicao

Noresultadodaexecuo,oMicrosoftVisualStudioseencarregoudeapresentarumanovalistagemdeerroscomaseguintedescrio:

Error 1 The type or namespace name Bilhete could not be found (are you missing a using directive or an assembly
reference?).
Error 2 The type or namespace name Bilhete could not be found (are you missing a using directive or an assembly
reference?)
Error 3 The type or namespace name IBilhete could not be found (are you missing a using directive or an assembly
reference?).
Error 4 The type or namespace name Bilhete could not be found (are you missing a using directive or an assembly
reference?).
Error 5 The type or namespace name IBilhete could not be found (are you missing a using directive or an assembly
reference?).

Estas mensagens de erro ocorreram em razo da tentativa de execuo da aplicao, com a classe Unitario, Bilhete e a
interface IBilhete utilizandose de um Namespace diferenciado comparado as Classes UnicoComum, UnicoEstudante,
EspecialDesempregado(acolunaFiledalistagemdeerroscomplementaadescriodestes),norespeitandoumescopoemcomum.

ConsideraesFinais:

EstapublicaovisaalteraraClasseIBilhetegarantindooajustecorretoparaexecuodaAplicao,pormumavezqueo
NamespacedainterfaceIBilheteforamodificadoigualmenteasclassesUnitarioeBilhete,apenasestestrselementosestabelecemse
comocorrigidos.TodasasoutrasClassesqueherdamdaclasseBilheteereferenciamcomaInterfaceIBilhete,permanecem
acusandoerrosnocompilador.
Oprximopassoentenderoseguintequestionamento:

PorqueasclassesUnicoComum,UnicoEstudante,EspecialDesempregadopermanecemacusandooserrosnocompiladoraps
aalteraodoNamespacedefinidoparaasclassesUnitario,BilheteeainterfaceIBilhete?

importanteressaltarque,amedidaqueospostsforemevoluindo,comapresentaestericassomadasasprticas,atendnciaqueo
leitorvsanandosuasdvidasedificuldadesdeentendimento.

Naprximapublicao,aindastimapartedasrie:ProgramaoOrientadaaObjetoscomC#serapresentadoosextopostsobre
Namespace,oleitorirconferiracontinuidadedotemaentreoutrosaspectosrelevantesaesteassunto.

RefernciasBibliogrficas:

Asrefernciasbibliogrficasseroapresentadasnoltimopostdestasrie.

Compartilhar
Compartilhar
Compartilhar

Email
Curtir

Sobreoautor

ThiagoRichardVanicore

ThiagoRichardVanicoreformouseemanliseedesenvolvimentodesistemas,possuicertificaoITILFoundationV2
eentreseusconhecimentosesto:ASP.Net(WebForms/MVC5/WebAPI)C#,HTML5,Html/XHtml,CSS3,JQuery,
JQueyMobile,JavaScript,Xml,Ajax,Json,MicrosoftSqlServer,MySql,Firebird,Azure,VisualStudioOnline,
Scrum,UML,CRM,QualityAssurance,CTI(ComputerTelephonyIntegration)MPSBR(MelhoriadeProcessosdo
SoftwareBrasileiro).

Linkpermanenteparaesteartigo:http://linksinergia.com.br/2016/11/14/programacaoorientadaaobjetoscomcparte75namespace/

S-ar putea să vă placă și