Вы находитесь на странице: 1из 8

ProgramaoOrientadaaObjetoscomC#(Parte7.

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

Este tema da srie Programao Orientada a Objetos com C# encerrase nesta publicao. Sendo assim, a numerao sequencial
destapartedasriefinalizasede7.8para7.9(videttulo).

Palavraschaves:

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

Texto:

MosaObra

Com a alterao da classe EspecialDesempregado corrigindo erros anteriormente indicados pelo compilador, o prximo passo na
ProgramaoOrientadaaObjetoscomC#serdarcontinuidadeaestesassuntosesuasvariantes,vistasatomomentopresente.

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.

AlterandoaclasseProgram

PartindodaclasseProgram,podesevisualizar:
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5
6 namespace ConsoleApplication
7 {
8 class Program
9 {
10 static void Main(string[] args)
11 {
12 Unitario objUnitario = new Unitario();
13 objUnitario.Tipo = "Papel";
14 objUnitario.Cor = "Branca";
15
16 Console.WriteLine("O Bilhete Unitrio de {0}, possui a cor {1} e ao passar na catraca, cobra-se uma tarifa de: R${2}", objUnitario.
17
18 EspecialDesempregado objEspecialDesempregado = new EspecialDesempregado();
19 objEspecialDesempregado.Tipo = "Papel";
20 objEspecialDesempregado.Cor = "Amarela";
21 objEspecialDesempregado.DataValidade = DateTime.Now.AddDays(90);
22
23 Console.WriteLine("O Bilhete Especial Desempregado de {0}, possui a cor {1} e valido at {2}", objEspecialDesempregado.Tipo, objEspecialD
24
25 UnicoComum objUnicoComum = new UnicoComum();
26 objUnicoComum.Tipo = "Plstico";
27 objUnicoComum.Cor = "Vermelha";
28 objUnicoComum.DataPrimeiraPassagem = DateTime.Now.AddHours(1);
29
30 Console.WriteLine("O Bilhete nico Comum apresenta inicialmente um saldo de R${0}", objUnicoComum.Saldo());
31 Console.WriteLine("O Bilhete nico Comum de {0}, possui a cor {1} e sua primeira utilizao ocorreu em {2}", objUnicoComum.Tipo, objUnicoCo
32 Console.WriteLine("O Bilhete nico Comum ao passar na catraca com integrao, cobra-se uma tarifa de: R${0}", objUnicoComum.CobraTarifa
33 objUnicoComum.Debita();
34 Console.WriteLine("O Bilhete nico Comum apresenta aps utilizao de uma passagem com integrao, um saldo disponvel de R${0}", objUnicoCom
35
36 UnicoEstudante objUnicoEstudante = new UnicoEstudante();
37 objUnicoEstudante.Tipo = "Plstico";
38 objUnicoEstudante.Cor = "Vermelha";
39 objUnicoEstudante.DataPrimeiraPassagem = DateTime.Now.AddHours(1);
40
41 Console.WriteLine("O Bilhete nico Estudante apresenta inicialmente um saldo de R${0}", objUnicoEstudante.Saldo());
42 Console.WriteLine("O Bilhete nico Estudante de {0}, possui a cor {1} e sua primeira utilizao ocorreu em {2}", objUnicoEstudante.
43 Console.WriteLine("O Bilhete nico Estudante ao passar na catraca com meia passagem, cobra-se uma tarifa de: R${0}", objUnicoEstudante
44 objUnicoEstudante.Debita();
45 Console.WriteLine("O Bilhete nico Estudante apresenta aps utilizao de meia passagem, um saldo disponvel de R${0}", objUnicoEstudante
46
47 Console.ReadKey();
48 }
49 }
50 }

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 class Program
9 {
10 static void Main(string[] args)
11 {
12 Unitario objUnitario = new Unitario();
13 objUnitario.Tipo = "Papel";
14 objUnitario.Cor = "Branca";
15
16 Console.WriteLine("O Bilhete Unitrio de {0}, possui a cor {1} e ao passar na catraca, cobra-se uma tarifa de: R${2}", objUnitario.
17
18 EspecialDesempregado objEspecialDesempregado = new EspecialDesempregado();
19 objEspecialDesempregado.Tipo = "Papel";
20 objEspecialDesempregado.Cor = "Amarela";
21 objEspecialDesempregado.DataValidade = DateTime.Now.AddDays(90);
22
23 Console.WriteLine("O Bilhete Especial Desempregado de {0}, possui a cor {1} e valido at {2}", objEspecialDesempregado.Tipo, objEspecialD
24
25 UnicoComum objUnicoComum = new UnicoComum();
26 objUnicoComum.Tipo = "Plstico";
27 objUnicoComum.Cor = "Vermelha";
28 objUnicoComum.DataPrimeiraPassagem = DateTime.Now.AddHours(1);
29
30 Console.WriteLine("O Bilhete nico Comum apresenta inicialmente um saldo de R${0}", objUnicoComum.Saldo());
31 Console.WriteLine("O Bilhete nico Comum de {0}, possui a cor {1} e sua primeira utilizao ocorreu em {2}", objUnicoComum.Tipo, objUnicoCo
32 Console.WriteLine("O Bilhete nico Comum ao passar na catraca com integrao, cobra-se uma tarifa de: R${0}", objUnicoComum.CobraTarifa
33 objUnicoComum.Debita();
34 Console.WriteLine("O Bilhete nico Comum apresenta aps utilizao de uma passagem com integrao, um saldo disponvel de R${0}", objUnicoCom
35
36 UnicoEstudante objUnicoEstudante = new UnicoEstudante();
37 objUnicoEstudante.Tipo = "Plstico";
38 objUnicoEstudante.Cor = "Vermelha";
39 objUnicoEstudante.DataPrimeiraPassagem = DateTime.Now.AddHours(1);
40
41 Console.WriteLine("O Bilhete nico Estudante apresenta inicialmente um saldo de R${0}", objUnicoEstudante.Saldo());
42 Console.WriteLine("O Bilhete nico Estudante de {0}, possui a cor {1} e sua primeira utilizao ocorreu em {2}", objUnicoEstudante.
43 Console.WriteLine("O Bilhete nico Estudante ao passar na catraca com meia passagem, cobra-se uma tarifa de: R${0}", objUnicoEstudante
44 objUnicoEstudante.Debita();
45 Console.WriteLine("O Bilhete nico Estudante apresenta aps utilizao de meia passagem, um saldo disponvel de R${0}", objUnicoEstudante
46
47 Console.ReadKey();
48 }
49 }
50 }

DetalhesdamodificaodaClasse:

ONamespaceantesnohaviasidoalterado(mantinhaseopadroConsoleApplication),agoraporobrigatoriedade,asclassesea
interface anteriormente alteradas definem a necessidade da classe Program declararse sobre o mesmo Namespace que estas,
remediandooserrosantesexibidospelocompiladorreferenteaclasseProgram.

Telaaocolarocdigo:
MicrosoftVisualStudio2010UltimateTelaapsAlteraodaClasse

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

Finalizandooexemplo,restaapenasexecutaraAplicao,deveseentoclicarnobotoStartDebugging(F5):
MicrosoftVisualStudio2010UltimateExecuodaAplicao

TelaaoclicarnobotoStartDebugging(F5):

MicrosoftVisualStudio2010UltimateExecuodaAplicao(JaneladeConsole)

ConsideraesFinais:

EstapublicaovisaalteraraClasseProgramgarantindooajustecorretoparaexecuodaAplicao,umavezqueoNamespaceda
classeProgramforamodificadoigualmenteasclassesUnitario,Bilhete,interfaceIBilheteeasclassesUnicoComum,UnicoEstudante
eEspecialDesempregado,agoratodososelementosestabelecemsecomocorrigidos.

importanteressaltarque,amedidaqueospostsforemevoluindo,comapresentaestericassomadasasprticas,atendnciaqueo
leitorvsanandosuasdvidasedificuldadesdeentendimento.
Na prxima publicao, Encerramento da srie: Programao Orientada a Objetos com C#, ser apresentado o Resumo Final,
estabelecendoumamatrizdeconexoentreostodosassuntosabordadosaolongodasrie.

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/12/14/programacaoorientadaaobjetoscomcparte79namespace/