Sie sind auf Seite 1von 9

ProgramaoOrientadaaObjetoscomC#(Parte7.

4)
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.3para7.4(videttulo)eassimseguir(7.5,7.6)medianteanecessidadedeconcluso.

Palavraschaves:

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

Texto:

MosaObra

Com a alterao da classe Unitario e a execuo da Aplicao, foram apresentadas mensagens de erro que remetem o no
cumprimentodeescopoobrigatriosobreautilizaodaClasseBilhete(comoclasseherdada)eaInterfaceIBilhete(videpostanterior),o
prximopassonaProgramaoOrientadaaObjetoscomC#serentendercomoClassespodemimplementarescoposdemaneiraque
ocompiladornoacuseerrosporviolaodeNamespaces.

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.

AlterandoaClasseBilhete

PartindodaclasseBilhete,podesevisualizar:
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5
6 namespace ConsoleApplication
7 {
8 public class Bilhete
9 {
10 private string cor;
11 public string Cor
12 {
13 get { return cor; }
14 set { cor = value; }
15 }
16
17 private string tipo;
18 public string Tipo
19 {
20 get { return tipo; }
21 set { tipo = value; }
22 }
23
24 private decimal tarifa;
25 public virtual decimal CobraTarifa()
26 {
27 tarifa = 3.80m;
28 return tarifa;
29 }
30 }
31 }

Tela:

MicrosoftVisualStudio2010UltimateTeladaClasse
Devesemodificarareadaclasse,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 public class Bilhete
9 {
10 private string cor;
11 public string Cor
12 {
13 get { return cor; }
14 set { cor = value; }
15 }
16
17 private string tipo;
18 public string Tipo
19 {
20 get { return tipo; }
21 set { tipo = value; }
22 }
23
24 private decimal tarifa;
25 public virtual decimal CobraTarifa()
26 {
27 tarifa = 3.80m;
28 return tarifa;
29 }
30 }
31 }

DetalhesdamodificaodaClasse:

ONamespaceantesnohaviasidoalterado(mantinhaseopadroConsoleApplication),agoraporobrigatoriedade,a
classeUnitariodefineanecessidadedaclasseBilhetedeclararsesobreomesmoNamespacequeaprimeiracitada,remediando
oserrosantesexibidospelocompiladorreferenteaclasseBilhete.

Autilizaodadeclaraolinksinergia.metro.bilheteumconceitonovo,aindanoexplicado.

Segundofontesdiversas,emcasosdedeclaraodeNamespaces,asugestoquedividaseoescopocomadescriode3partes:

1 namespace linksinergia.metro.bilhete

linksinergia:nomedaempresa

metro:nomedoprojeto

bilhete:mdulodosistema.

Telaaocolarocdigo:
MicrosoftVisualStudio2010UltimateTelaapsAlteraodaClasse

Por fim, devese salvar a classe Bilhete e suas alteraes clicando no boto Salvar. Tela com a confirmao positiva (ver rodap da
janela)aoclicarnobotoSalvar:
MicrosoftVisualStudio2010UltimateTelaapsSalvaroProjeto

Finalizandooexemplo,restaapenasexecutaraAplicao,deveseentoclicarnobotoStartDebugging(F5):
MicrosoftVisualStudio2010UltimateExecuodaAplicao

Surgirumajaneladeconfirmao,clicarnobotoYes:
MicrosoftVisualStudio2010UltimateExecuodaAplicao

TelaaoclicarnobotoYes:
MicrosoftVisualStudio2010UltimateExecuodaAplicao

Noresultadodaexecuo,oMicrosoftVisualStudioseencarregoudeapresentarumalistagemdeerroscomaseguintedescrio:

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?).

Estasmensagensdeerroocorreramemrazodatentativadeexecuodaaplicao,comaclasseUnitarioeBilheteutilizandosedeum
Namespace diferenciado comparado as Classes UnicoComum, UnicoEstudante, EspecialDesempregado e a Interface IBilhete (a
colunaFiledalistagemdeerroscomplementaadescriodestes),norespeitandoumescopoemcomum.

ConsideraesFinais:

EstapublicaovisaalteraraClasseBilhetegarantindooajustecorretoparaexecuodaAplicao,pormumavezqueo
NamespacedaclasseBilheteforamodificadoigualmenteaclasseUnitario,apenasestasduasclassesestabelecemsecomocorrigidas.
TodasasoutrasClassesDescendenteseaInterfaceIBilhetequeinteragementresiedependemumasdasoutras,acusaramnovos
errosnocompilador.

Oprximopassoentenderoseguintequestionamento:
PorqueasclassesUnicoComum,UnicoEstudante,EspecialDesempregadoeaInterfaceIBilheteacusaramoserrosno
compiladorapsaalteraodoNamespacedefinidoparaclasseUnitarioeBilhete?

importanteressaltarque,amedidaqueospostsforemevoluindo,comapresentaestericassomadasasprticas,atendnciaqueo
leitorvsanandosuasdvidasedificuldadesdeentendimento.

Naprximapublicao,aindastimapartedasrie:ProgramaoOrientadaaObjetoscomC#serapresentadooquintopostsobre
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/09/programacaoorientadaaobjetoscomcparte74namespace/

Das könnte Ihnen auch gefallen