Escolar Documentos
Profissional Documentos
Cultura Documentos
1)Herana
Categorias:Herana
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
destapartedasriepassoude4para4.1(videttulo)eassimseguir(4.2,4.3)medianteanecessidadedeconcluso.
Palavraschaves:
Variveis,Propriedades,Modificador,Acesso,Classe,Objeto.
Texto:
MosaObra
ComaalteraodasclassesMetroeProgramapresentandomensagensemumajaneladeconsoleatravsdarelaodestas(videpost
anterior),ficacompreendidaadeclarao,criaoeutilizaodoselementosbsicosquecompemoEncapsulamento,oprximopasso
naProgramaoOrientadaaObjetoscomC#serentrarnoconceitodeHerana.
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.
CriandoumaaplicaodotipoConsole
TelaInicialdoMicrosoftVisualStudio2010SP1:
MicrosoftVisualStudio2010UltimateTelaInicial
Localizareclicarnomenu:File,emseguidaselecionarNeweclicarsobreaopoProject:
MicrosoftVisualStudio2010UltimateCriaodeNovoProjeto
TelaapsclicarnaopoProject:
MicrosoftVisualStudio2010UltimateJanelaCentral
AjanelacentralestintituladacomoNewProject.
Contendo3reasdivididasnaverticale1readivididanahorizontal,naprimeirareaesquerdanomeadacomo:InstalledTemplates,
expandiraopoVisualC#,nasequenciaWindows.Emseguidanareacentral,localizareclicarnaopo:ConsoleApplication. Por
fim,nareaquerepresentaadivisohorizontal,manterasinformaesdeacordocomaimagemabaixoeclicarnobotoOk:
MicrosoftVisualStudio2010UltimateJanelaCentral
Valedestacarasconfiguraes:
Name:determinaseonomedoProjeto.
Location:determinaseocaminhooudiretrionoqualoprojetoficararmazenado.
Solutionname:determinaseonomedasoluodoprojeto.
Createdirectoryforsolution:marcaoquedeterminaacriaododiretrioparasoluo.
TelaapsclicarnobotoOk:
MicrosoftVisualStudio2010UltimateTelaapsCriaodoProjeto
NotasequeaocriaroProjetoConsoleApplication,oMicrosoftVisualStudioseencarregaautomaticamentedegeraredisponibilizar
umaclassechamadaProgram.cs.Porhoradeveseignorarestaclasse.
OprximopassosercriaraclasseUnitario.cs.
LocalizareclicarcomobotodireitonoprojetoConsoleApplicationemseguidaselecionarAddeclicarnaopoClass:
MicrosoftVisualStudio2010UltimateCriaodeClasse
TelaapsclicarnaopoClass:
MicrosoftVisualStudio2010UltimateJanelaCentral
AjanelacentralestintituladacomoAddNewItemConsoleApplication.
Contendo3reasdivididasnaverticale1readivididanahorizontal,naprimeirareaesquerdanomeadacomo:InstalledTemplates,
clicarnaopoVisualC#Items.Emseguidanareacentral,localizareclicarnaopo:Class.Porfim,nareaquerepresentaadiviso
horizontal,manterasinformaesdeacordocomaimagemabaixoeclicarnobotoAdd:
MicrosoftVisualStudio2010UltimateJanelaCentral
Valedestacarasconfiguraes:
Name:determinaseonomedaClasse.
TelaapsclicarnobotoAdd:
MicrosoftVisualStudio2010UltimateTelaapsCriaodaClasse
NotasequeaocriaraClasseUnitario.cs,oMicrosoftVisualStudioseencarregaautomaticamentededisponibilizlavisualmente,com
algumasdefiniesdecdigopadro.
Sendoassim,temse:
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5
6 namespace ConsoleApplication
7 {
8 class Unitario
9 {
10 }
11 }
Cdigo:
Linha1a4:sodeclaraesdenamespacesdeterminadaspeloprprioMicrosoftVisualStudio.
Linha6:declaraodenamespacedeterminadopeloMicrosoftVisualStudiopartirdonomedadoparaoprojetodotipoConsole
Application.Apsalinha6,ocontedopresentedesdeaaberturadachaveatofechamentopertenceaonamespaceemquesto.
Linha8a10:declaraodaclasseUnitarioautomaticamentedisponibilizadapeloMicrosoftVisualStudio partir do nome dado
paraestaemseumomentodecriao.
DetalhesdadeclaraodaClasse:
As declaraes determinadas pelo prprio Microsoft Visual Studio para classe Unitario, foram definidas de maneira a omitir o
modificadordeacesso.Nestecaso,aclasseassumeporpadroomodificadordeacessodotipoprivate
Noexistemmembrosdaclasse.
OprximopassosercriaraclasseEspecialDesempregado.cs.
LocalizareclicarcomobotodireitonoprojetoConsoleApplicationemseguidaselecionarAddeclicarnaopoClass:
MicrosoftVisualStudio2010UltimateCriaodeClasse
TelaapsclicarnaopoClass:
MicrosoftVisualStudio2010UltimateJanelaCentral
AjanelacentralestintituladacomoAddNewItemConsoleApplication.
Contendo3reasdivididasnaverticale1readivididanahorizontal,naprimeirareaesquerdanomeadacomo:InstalledTemplates,
clicarnaopoVisualC#Items.Emseguidanareacentral,localizareclicarnaopo:Class.Porfim,nareaquerepresentaadiviso
horizontal,manterasinformaesdeacordocomaimagemabaixoeclicarnobotoAdd:
MicrosoftVisualStudio2010UltimateJanelaCentral
Valedestacarasconfiguraes:
Name:determinaseonomedaClasse.
TelaapsclicarnobotoAdd:
MicrosoftVisualStudio2010UltimateTelaapsCriaodaClasse
NotasequeaocriaraClasseEspecialDesempregado.cs,oMicrosoftVisualStudioseencarregaautomaticamentededisponibilizla
visualmente,comalgumasdefiniesdecdigopadro,seguindoamesmalgicadaclasseUnitario.cs,criadanopassoanterior.
Sendoassim,temse:
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5
6 namespace ConsoleApplication
7 {
8 class EspecialDesempregado
9 {
10 }
11 }
AlterandoaclasseUnitario
RetornandoaclasseUnitario,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 Unitario
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 }
DetalhesdamodificaodaClasse:
AclasseUnitariofoialteradacomomodificadordeacessopublic
ForamcriadasPropriedadescomomembrosdaclasseUnitario.
Telaaocolarocdigo:
MicrosoftVisualStudio2010UltimateTelaapsAlteraodaClasse
Porfim,devesesalvaraclasseUnitarioesuasalteraesclicandonobotoSalvar.Telacomaconfirmaopositiva(verrodapda
janela)aoclicarnobotoSalvar:
MicrosoftVisualStudio2010UltimateTelaapsSalvaroProjeto
AlterandoaclasseEspecialDesempregado
NaclasseEspecialDesempregado,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 EspecialDesempregado
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 DateTime dataValidade;
25 public DateTime DataValidade
26 {
27 get { return dataValidade; }
28 set { dataValidade = value; }
29 }
30 }
31 }
DetalhesdamodificaodaClasse:
AclasseEspecialDesempregadofoialteradacomomodificadordeacessopublic
ForamcriadasPropriedadescomomembrosdaclasseEspecialDesempregado.
Telaaocolarocdigo:
MicrosoftVisualStudio2010UltimateTelaapsAlteraodaClasse
Porfim,devesesalvaraclasseEspecialDesempregadoesuasalteraesclicandonobotoSalvar.Telacomaconfirmaopositiva
(verrodapdajanela)aoclicarnobotoSalvar:
MicrosoftVisualStudio2010UltimateTelaapsSalvaroProjeto
AlterandoaclasseProgram
OprximopassoretornaraclasseProgram.Nareadireitanomeadacomo:SolutionExplorer,deveseclicarduasvezes(2x)sobre
Program.cs.
Conformemencionado,aclasseProgramfoicriadaporencargodoprprioMicrosoftVisualStudionaconcretizaodecriaodo
ProjetoConsoleApplication,disponibilizandoacomalgumasdefiniesdecdigopadro.
Sendoassim,temse:
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
13 }
14 }
15 }
Cdigo:
Linha1a4:sodeclaraesdenamespacesdeterminadaspeloprprioMicrosoftVisualStudio.
Linha6:declaraodenamespacedeterminadopeloMicrosoftVisualStudiopartirdonomedadoparaoprojetodotipoConsole
Application.Apsalinha6,ocontedopresentedesdeaaberturadachaveatofechamentopertenceaonamespaceemquesto.
Linha8a14:declaraodaclasseProgramautomaticamentedisponibilizadapeloMicrosoftVisualStudiopartirdonomepadro
adotado.
DetalhesdadeclaraodaClasse:
AsdeclaraesdeterminadaspeloprprioMicrosoftVisualStudioparaclasseProgramforamdefinidasdemaneiraaomitiro
modificadordeacesso
Omembronestecasoexistenativamente,sendoesteomtodoMain.
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 Unitario objUnitario = new Unitario();
13 objUnitario.Tipo = "Papel";
14 objUnitario.Cor = "Branca";
15
16 Console.WriteLine("O objeto Unitario de {0} e possui a cor {1}", objUnitario.Tipo, objUnitario.Cor);
17
18 EspecialDesempregado objEspecialDesempregado = new EspecialDesempregado();
19 objEspecialDesempregado.Tipo = "Papel";
20 objEspecialDesempregado.Cor = "Amarela";
21
22 Console.WriteLine("O objeto EspecialDesempregado de {0} e possui a cor {1}", objEspecialDesempregado.Tipo, objEspecialDesempregado.
23
24 Console.ReadKey();
25 }
26 }
27 }
DetalhesdamodificaodaClasse:
AsclassesUnitarioeEspecialDesempregadoforaminstanciadasdentrodomtodoMaindaclasseProgram,havendoapercepo
dequeUnitarioeEspecialDesempregadosoclassesdotipoClassedeObjetoseProgramumaclassedotipoClassePadro
AsPropriedadescriadasapartirdaclasseUnitarioeEspecialDesempregado,foramacessadasatribuindolhesvaloresque
respeitamotipodeclaradodecadauma(TipoeCor,soambasdotipostring).
Aofinal,existemClassesdoprprioFrameworkqueservemparaexibirinformaesreferenteaocontedodosobjetosnumajanelade
console.
Telaaocolarocdigo:
MicrosoftVisualStudio2010UltimateTelaapsAlteraodaClasse
Porfim,devesesalvaroprojetoConsoleApplicationesuasalteraesclicandonobotoSalvar.Telacomaconfirmaopositiva(ver
rodapdajanela)aoclicarnobotoSalvar:
MicrosoftVisualStudio2010UltimateTelaapsSalvaroProjeto
Finalizandooexemplo,restaapenasexecutaraAplicao,deveseentoclicarnobotoStartDebugging(F5):
MicrosoftVisualStudio2010UltimateExecuodaAplicao
TelaaoclicarnobotoStartDebugging(F5):
MicrosoftVisualStudio2010UltimateExecuodaAplicao(JaneladeConsole)
ConsideraesFinais:
EstapublicaovisacriarealterarasClassesUnitario,EspecialDesempregadoeProgramdeixandonoresultadodaexecuo
mensagensquesediferememvaloresparacadaobjeto,pormseigualamcomrelaoassuascaractersticas.Estarepresentaofoi
introduzidademaneiraproposital,tendoemmiraumpontodepartidaparautilizaoprticadoconceitoHerana,quevirposteriormente.
importanteressaltarque,amedidaqueospostsforemevoluindo,comapresentaestericassomadasasprticas,atendnciaqueo
leitorvsanandosuasdvidasedificuldadesdeentendimento.
Naprximapublicao,aindaquartapartedasrie:ProgramaoOrientadaaObjetoscomC#serapresentadoosegundopost
sobreHerana,oleitorirconferiracontinuidadedotemaentreoutrosaspectosrelevantesaesteassunto.
RefernciasBibliogrficas:
Asrefernciasbibliogrficasseroapresentadasnoltimopostdestasrie.
Compartilhar
Compartilhar
Compartilhar
Email
Curtir
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/11/04/programacaoorientadaaobjetoscomcparte41heranca/