Beruflich Dokumente
Kultur Dokumente
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/