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

ProgramaoOrientadaaObjetoscomC#(Parte2.

9)Classe
Categorias:Classe

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
destapartedasriefinalizasede2.8para2.9(videttulo).

Palavraschaves:

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

Texto:

MosaObra

ComaalteraodasclassesMetroeProgramapresentandomensagensemumajaneladeconsoleatravsdarelaodestas(videpost
anterior), o prximo passo na Programao Orientada a Objetos com C# ser dar continuidade prtica a estes assuntos e suas
variantes.

Adendo

PararealizaodoPostforamutilizadososseguintesProgramas:

Windows7Ultimate
MicrosoftVisualStudio2010UltimateSP1(ServicePack1).

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

AlterandoaclasseMetro

AindanaclasseMetro,deveseclicaremodificarareadaclasse,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 bool status;
11 public bool portaAberta;
12
13 public void Andar(bool parametro)
14 {
15 status = parametro;
16
17 if (status == true)
18 {
19 Console.WriteLine("O Metr est andando");
20 }
21 else
22 {
23 Console.WriteLine("O Metr est parado");
24 }
25 }
26
27 public void AbrirPorta()
28 {
29 if (status == false)
30 {
31 Console.WriteLine("O Metr abriu a porta");
32 portaAberta = true;
33 }
34 else
35 {
36 Console.WriteLine("O Metr no pode abrir a porta pois est em andamento");
37 portaAberta = false;
38 }
39 }
40 }
41 }

DetalhesdamodificaodaClasse:

AclasseMetrofoialteradacomomodificadordeacessopublic
Foram criadas as variveis de instncia status e portaAberta como membros da classe Metro. Ambas so do tipo de dado
booleano.Almdisto,estasvariveisestocomomodificadordeacessocomopublic.
ForamcriadososmtodosAndar()eAbrirPorta()comomembrosdaclasseMetro.OmtodoAndar(boolparametro)recebecomo
parmetroumtipodedadobooleano(trueoufalse)eomtodoAbrirPorta()foicriadodemaneiraapreparloparaexecuosem
apassagemdeparmetros.Almdisto,estesmtodosestocomomodificadordeacessocomopublic.
Ainda sobre os mtodos, a ao do mtodo Andar se estabelece de maneira a receber um parmetro, atribulo a varivel de
instnciastatus,avarivelstatusporsuavezentranacondioquelevaraumamensagemfinal:
Setrue:OMetrestandando,sefalse:OMetrestparado.
Referindoseaosegundomtodoagora,aaoparaAbrirPortaseestabelecedemaneiraautilizardavarivelstatusqueentrana
condioquelevaraumamensagemfinal:
Sefalse:OMetrabriuaporta,atribuindoovalortrueavariveldeinstnciaportaAberta.
Setrue:OMetrnopodeabriraportapoisestemandamento,atribuindoovalorfalseavariveldeinstnciaportaAberta.
Telaaocolarocdigo:

MicrosoftVisualStudio2010UltimateTelaapsAlteraodaClasse

Porfim,devesesalvaraclasseMetroesuasalteraesclicandonobotoSalvar.Telacomaconfirmaopositiva(verrodapdajanela)
aoclicarnobotoSalvar:
MicrosoftVisualStudio2010UltimateTelaapsSalvaroProjeto

AlterandoaclasseProgram

NaclasseProgram,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 objMetro = new Metro();
13 objMetro.Andar(true);
14 objMetro.AbrirPorta();
15
16 Console.ReadKey();
17 }
18 }
19 }

Cdigo:

Linha1a11:sodeclaraesrealizadasnaclasseProgram.
Linha12:declaraodeumnovoobjeto(objMetro)partirdaclasseMetro.
Linha 13: o mtodo Andar criado partir da classe Metro, foi acessado atravs da declarao do objeto desta mesma classe
(videlinha12),demaneiraapreparloparaexecuocomapassagemdeumparmetrobooleano,noexemplo,ovalortrue.Ao
final,amensagemqueserexibidanajaneladeconsole,forainseridadiretamentenomtodoAndar.
Linha14:omtodoAbrirPortacriadopartirdaclasseMetro,foiacessadoatravsdadeclaraodoobjetodestamesmaclasse
(videlinha12),demaneiraapreparloparaexecuosemapassagemdeparmetros.Aofinal,amensagemqueserexibidana
janeladeconsole,forainseridadiretamentenomtodoAbrirPorta.
Linha15a19:encerramentodocdigo.

DetalhesdadeclaraodaClasse:

Com a criao do novo objeto (objMetro) possvel verificar que logo aps a declarao da Classe, so acessados os mtodos
AndareAbrirPorta,queseroexecutadossequencialmente.

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)

Outra maneira de visualizar o resultado na execuo da Aplicao alterar o acesso ao mtodo Andar de maneira a preparlo para
execuocomapassagemdeumparmetrobooleanocomovalorfalse.

AlterandoaclasseProgram

NaclasseProgram,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 objMetro = new Metro();
13 objMetro.Andar(false);
14 objMetro.AbrirPorta();
15
16 Console.ReadKey();
17 }
18 }
19 }

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:

EstapublicaovisaalterarasClassesMetroeProgramdemaneiraqueoleitorpossaentenderacomunicaoefunesquecadauma
destasdesempenhamentresi,dispondodaexecuodemtodosentreoutroselementoseconceitosdaOrientaoaObjetosdescritos
atomomento.
OsdetalhesdaexecuodaAplicaonestepost,soembasadosnabuscadefatosqueocorremnavidareal.Ummetrnopodeabrir
suas portas se estiver andando, somente quando estiver parado. Obviamente num contexto completo, haveriam muito mais detalhes e
lgicasaseremempregadasnestaregradenegcios,masparacompreensodidtica,oautoracreditaestarnocaminhomaisplausvel
paraoleitor.

importanteressaltarque,amedidaqueospostsforemevoluindo,comapresentaestericassomadasasprticas,atendnciaqueo
leitorvsanandosuasdvidasedificuldadesdeentendimento.

Na prxima publicao, terceira parte da srie: Programao Orientada a Objetos com C# ser apresentado o conceito de
Encapsulamento.

RefernciasBibliogrficas:

Asrefernciasbibliogrficasseroapresentadasnoltimopostdestasrie.

Compartilhar
Compartilhar
Compartilhar

Email
Curtir
PostagemAnterior

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/05/11/programacaoorientadaaobjetoscomcparte29classe/

Вам также может понравиться