Sunteți pe pagina 1din 15

ProgramaoOrientadaaObjetoscomC#(Parte2.

5)Classe
Categorias:Classe

porThiagoRichardVanicore

Resumo:

Oobjetivonoseaplicaaestepost.

Umavezqueocontedototaldestasriefoidivididoempartes,deveseconsiderarabsolutooresumodaprimeirapostagemato
momentopresente.

EstetemadasrieProgramaoOrientadaaObjetoscomC#irdemandarmaispublicaes.Sendoassim,anumeraosequencial
destapartedasriepassoude2.4para2.5(videttulo)eassimseguir(2.6,2.7)medianteanecessidadedeconcluso.

Palavraschaves:

Tipos,Declarao,Modificador,Acesso,Criao,Objeto.

Texto:

MosaObra

ComaalteraodasclassesMetroeProgramapresentandomensagensemumajaneladeconsoleatravsdarelaodestas(videpost
anterior),oprximopassonaProgramaoOrientadaaObjetoscomC#serdarcontinuidadeprticaaestesassuntosesuas
variantes.

Adendo

PararealizaodoPostforamutilizadososseguintesProgramas:

Windows7Ultimate
MicrosoftVisualStudio2010UltimateSP1(ServicePack1).

Anicaconfiguraorealizadaapsainstalaodosprogramasacima,foimanteroMicrosoftVisualStudiosendoexecutadocomo
usurioAdministradordoSistemaOperacional,afimdeevitarmaioresproblemas.

AlterandoaclasseProgram

AindanaclasseProgram,deveseclicaremodificarareadaclasse,alterandoaparaoseguintecdigo:
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 Metro objMetro1 = new Metro();
13 objMetro1.cor = "Azul";
14 objMetro1.quantidadeVagoes = 25;
15
16 Console.WriteLine("A cor do Metr 1 : {0}", objMetro1.cor);
17 Console.WriteLine("A quantidade de vages do Metr 1 de: {0}", objMetro1.quantidadeVagoes);
18
19 Metro objMetro2 = new Metro();
20 objMetro2.cor = "Verde";
21 objMetro2.quantidadeVagoes = 26;
22 objMetro2.tamanho = 30;
23
24 Console.WriteLine("A cor do Metr 2 : {0}", objMetro2.cor);
25 Console.WriteLine("A quantidade de vages do Metr 2 de: {0}", objMetro2.quantidadeVagoes);
26 Console.WriteLine("O tamanho do Metr 2 de {0} mts", objMetro2.tamanho);
27
28 Console.ReadKey();
29 }
30 }
31 }

Cdigo:

Linha1a17:sodeclaraesrealizadasnaclasseProgram.Instanciando,Inicializando,emseguidapreenchendoasvariveisde
instnciadoprimeiroobjetocriado(objMetro1)queaofinalserovisualizadasnajaneladeConsolecomomensagensdetexto,
atravsdautilizaodasprpriasclassesdoFramework.
Linha19:declaraodeumnovoobjeto(objMetro2)apartirdaclasseMetro,provandooconceitoque,apartirdeumaclasse
podemsecriardiversosobjetosindependentes.
Linha20a22:atribuiodevaloresasvariveisdeinstnciadonovoobjeto(objMetro2),diferenciandoagoradoprimeiroobjeto
(objMetro1)peloacrscimodavariveltamanho.
Linha24a28:utilizaodasClassesdoprprioFrameworkqueservemparaexibirinformaesreferenteaocontedodonovo
objeto(objMetro2)numajaneladeconsole.

DetalhesdadeclaraodaClasse:

Comacriaodonovoobjeto(objMetro2)eoacrscimodavariveltamanho,possvelverificarautomaticamenteque,oMicrosoft
VisualStudioseencarregademarcarestavarivelemvermelho.

Telaaocolarocdigo:
MicrosoftVisualStudio2010UltimateTelaapsAlteraodaClasse

Colocandoocursordomousesobreestavarivelpossvelvisualizaraseguintemensagem:
MicrosoftVisualStudio2010UltimateTelaapsAlteraodaClasse

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

Finalizandooexemplo,restaapenasexecutaraAplicao,deveseentoclicarnobotoStartDebugging(F5):
MicrosoftVisualStudio2010UltimateExecuodaAplicao

Surgirumjaneladeconfirmao,clicarnobotoYes:
MicrosoftVisualStudio2010UltimateExecuodaAplicao

TelaaoclicarnobotoYes:
MicrosoftVisualStudio2010UltimateExecuodaAplicao

Noresultadodaexecuo,oMicrosoftVisualStudioseencarregoudeapresentarumalistagemdeerroscomaseguintedescrio:
ErrorList:ConsoleApplication.Metro.tamanhoisinaccessibleduetoitsprotectionlevel.Estadescriorefletenamesma
mensagemhoravistaacimaaocolocarocursordomousesobreavariveltamanho,queestavamarcadaemvermelho.Issoocorreuem
razodatentativadeacessoavariveltamanhosempermisso(nopossvelatribuirvaloresenem,recuperarvaloresdestavarivel).

Aorigemesoluoportanto,estnaclasseMetro,quedevesermodificada,garantindoapermissodestavarivel.

AlterandoaclasseMetro

RetornandoaclasseMetro,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 Metro
9 {
10 public string cor;
11 public int quantidadeVagoes;
12 decimal tamanho;
13 bool status;
14 }
15 }

Tela:
MicrosoftVisualStudio2010UltimateTeladaClasse

Devesemodificarareadaclasse,alterandoaparaoseguintecdigo:

1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5
6 namespace ConsoleApplication
7 {
8 public class Metro
9 {
10 public string cor;
11 public int quantidadeVagoes;
12 public decimal tamanho;
13 bool status;
14 }
15 }

DetalhesdamodificaodaClasse:

Avariveltamanhoantesomitiraseumodificadordeacesso,agorapassaaternoexemploomodificadordeacessocomopublic,
garantindoquenosomenteosmodificadoresdeacessopossamserutilizadosparaClassescomoparaseusmembros,nocaso
acima,asvariveisdeinstncia.
Telaaocolarocdigo:

MicrosoftVisualStudio2010UltimateTelaapsAlteraodaClasse

Porfim,devesesalvaraclasseMetroesuasalteraesclicandonobotoSalvar.Telacomaconfirmaopositiva(verrodapdajanela)
aoclicarnobotoSalvar:
OprximopassoretornaraclasseProgram.possvelvisualizarnestemomentoqueavariveltamanhonoestmaismarcadacom
irregularidadedepermisso:
Porfim,devesesalvaroprojetoConsoleApplicationclicandonobotoSalvar.Telacomaconfirmaopositiva(verrodapdajanela)ao
clicarnobotoSalvar:
MicrosoftVisualStudio2010UltimateTelaapsSalvaroProjeto

Finalizandooexemplo,restaapenasexecutaraAplicao,deveseentoclicarnobotoStartDebugging(F5):
MicrosoftVisualStudio2010UltimateExecuodaAplicao

TelaaoclicarnobotoStartDebugging(F5):

MicrosoftVisualStudio2010UltimateExecuodaAplicao(JaneladeConsole)

ConsideraesFinais:

EstapublicaovisaalterarasClassesMetroeProgramdemaneiraacomprovaraoleitorassuntosjdiscutidosemteoriaanteriormente,
almdissoapresentarnovosconceitosqueirosurgirnaturalmentenacriaodosexemplos,e,quetornasemaisfciloaprendizado
destaforma.

importanteressaltarque,amedidaqueospostsforemevoluindo,comapresentaestericassomadasasprticas,atendnciaqueo
leitorvsanandosuasdvidasedificuldadesdeentendimento.

Naprximapublicao,aindasegundapartedasrie:ProgramaoOrientadaaObjetoscomC#serapresentado
osextopostsobreClasse,oleitorirconferiracontinuidadedotemaentreoutrosaspectosrelevantesaesteassunto.

RefernciasBibliogrficas:
Asrefernciasbibliogrficasseroapresentadasnoltimopostdestasrie.

Compartilhar
Compartilhar
Compartilhar

Email
Curtir
PostagemAnterior

PrximaPostagem

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/2015/03/23/programacaoorientadaaobjetoscomcparte25classe/

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