Fundamentos do Desenvolvimento de Software
- Posted: Mar 20, 2012 at 5:38 AM
- 49,137 Views
- 429 Comments
Loading User Information from Channel 9
Something went wrong getting user information from Channel 9
Loading User Information from MSDN
Something went wrong getting user information from MSDN
Loading Visual Studio Achievements
Something went wrong getting the Visual Studio Achievements
Renato Haddad
Microsoft Most Valuable Professional MVP, MCT, MCPD e MCTS
Visual Studio .NET 2010, C#
Neste artigo irei abordar alguns tópicos básicos que todo desenvolvedor deve saber. A pedidos, os tópicos serão básicos porque este artigo faz parte do programa Microsoft Academy Awards, Módulo Estruturas de decisão e repetição e Programação Orientada a Objeto – OOP.
Decidi usar a linguagem Visual C# simplesmente porque a maioria dos exemplos encontrados na web usam C#. Neste artigo abordarei as estruturas de decisões e repetições, programação orientada a objetos, como criar uma classe, adicionar propriedades, métodos e um construtor. Para finalizar, como herdar uma classe e as vantagens.
Estruturas de decisões
Toda aplicação que precise de um direcionamento do fluxo de execução dos códigos, utiliza os comandos de condições, os quais têm como objetivo avaliar uma condição e conforme o resultado, direcionar o fluxo para uma operação, seja ela um bloco de códigos, uma função, etc.
O primeiro e o mais conhecido é o if (se). Sua sintaxe é:
If ( condição ) ... else / else if ( condição )
Basicamente a condição pode ser uma expressão lógica ou relacional. No exemplo a seguir é definida a variável idade com valor 12 e o if avalia se a idade é maior ou igual a 18. Caso seja verdadeiro, então será mostrada a mensagem "Maior de idade". Neste caso, há apenas uma instrução a ser executada.
var idade = 12;
if (idade >= 18) Console.WriteLine("Maior de idade");
Já no próximo exemplo note que dependendo da condição há um bloco de código a ser executado, sendo que o mesmo deverá estar entre chave {}. Neste caso, se a idade for maior ou igual a 18, então, será mostrada a mensagem "responsável", a idade será somada mais 2 anos, ou seja o resultado final é 14, e ao final, será mostrado o valor da variável já com o novo valor.
Note que neste código tem o uso do else, o qual é a ação falsa da expressão avaliada. Ou seja, neste caso se a idade não for maior ou igual a 18, serão mostradas duas mensagens ("Requer auxilio dos pais") e a idade (neste caso, 10), pois o -= subtrai 2 do valor atual de 12.
Enfim, em situações onde requer a execução de códigos ou blocos de códigos conforme a expressão avaliada, use o else.
if (idade >= 18)
{
Console.WriteLine("responsável");
idade += 2;
Console.WriteLine(idade);
}
else
{
Console.WriteLine("Requer auxilio dos pais");
idade -= 2;
Console.WriteLine(idade);
}
Aprimorando um pouco o uso do if, veja no exemplo a seguir que há três situações possíveis de resultado. A idade inicial é 13, e a primeira expressão avalia se a idade é igual (==) a 10. Caso verdadeiro, mostra a mensagem "igual a 10". Caso contrário, é avaliada a segunda expressão, pois o uso do else if (senão se) avalia se a idade é maior ou igual a 12 E (&&) menor ou igual a 16. Veja que neste caso é a mesma coisa que dizer entre 12 e 16, inclusive. Observe o uso do && o qual significa o E de forma que ambas as expressões devem ser verdadeiras. Caso seja, será mostrada a mensagem "Adolescente". Neste exemplo se nenhuma das duas expressões anteriores for verdadeira, então o fluxo cairá no else e mostrará "maior que 16". Detalhe: quantos else if posso ter? Quantos forem necessários, não há limites.
idade = 13;
if (idade == 10)
Console.WriteLine("igual a 10");
else if (idade >= 12 && idade <=16)
Console.WriteLine("Adolescente");
else
Console.WriteLine("maior que 16");
Assim com temos o E (&&), o uso do OU (||) é muito comum. Neste exemplo a seguir a mensagem "condição OU satisfeita" será exibida somente se a idade for igual a 1 OU igual a 10. Caso contrário, jamais este código será executado.
if (idade == 1 || idade == 10)
Console.WriteLine("condicao OU satisfeita");
Já pensou em escrever um código com muitos IFs? Não faz muito sentido isto. Em minha opinião fica um código que chamamos de sujo, de difícil manutenção, então se faz uso do comando swtich. Veja o exemplo a seguir: a variável linguagem contém o texto "cs". O swtich avalia exatamente esta expressão swtich (linguagem). Dentro do bloco você deve colocar o case para cada condição a ser avaliada, e de acordo com o resultado, executa-se o código. Neste caso, dependendo das condições (vb ou cs) será mostrada a respectiva mensagem. Note que se nenhuma acima for atendida, então o fluxo cai no default. Observe que há a palavra chave break, que tem a finalidade de encerrar o swtich e seguir a execução dos códigos abaixo do fechamento do bloco do swtich. O break não é obrigatório mas se você não colocar, a cada case será realizado o questionamento da expressão.
string linguagem = "cs";
switch (linguagem)
{
case "vb":
Console.WriteLine("vb.net");
break;
case "cs":
Console.WriteLine("c sharp");
break;
default:
Console.WriteLine("outra linguagem");
break;
}
Agora vamos ao uso de loopings. Como o próprio nome diz, looping é um laço o qual pode ser finito ou infinito, depende como programar. O while é um tipo de looping bastante usado o qual tem como finalidade realizar a execução do bloco de código de acordo com a expressão definida no escopo do while. Veja que defini duas variáveis, uma boleana (lógica) chamada cond com o valor true; e a contador do tipo int com valor 50. Veja a sintaxe do while (cond), ou seja, enquanto verdadeiro. Neste caso, enquanto a variável cond for verdadeira o looping será executado. Por segurança, dentro do bloco do looping, a cada iteração eu fiz uma condição if que avalia se o contador é igual a 60. Caso seja verdadeiro, a variável cond passa a ser false e não próxima execução da iteração, o looping será finalizado. Vale dizer que a cada iteração é mostrado o valor do contador, e também é adicionado um (contador++) à variável.
bool cond = true;
int contador = 50;
while (cond)
{
if (contador == 60) cond = false;
Console.WriteLine(contador++);
}
Outro tipo de looping muito usado é o foreach (para cada item), o qual você não precisa dizer quantas iterações terão. Neste exemplo, defini um array de string[] chamado áreas contendo quatro siglas de departamentos. Já no foreach veja que a sintaxe é simples e intuitiva, ou seja, para cada item contido em áreas (coleção de itens) execute o bloco de código.
O foreach é extensamente utilizado em coleções de dados, leitura de dados em banco de dados, enfim, você não precisa controlar o final pois está encapsulado no foreach, é ele que controla o término.
string[] areas = { "DTI", "DPE", "WIN", "COR" };
foreach (var item in areas)
{
Console.WriteLine(item);
}
Outro tipo de looping muito difundido em todas as linguagens é o for. A sintaxe é simples, mas vamos entendê-la. O int i = 0 inicializa a variável i do tipo int com valor 0 (zero). A seguir é definido o limite da execução, neste caso a expressão i < 100 (enquanto i for menor que 100). Para finalizar, o último parâmetro é o contador a cada iteração, neste caso é somado 1 a variável i.
for (int i = 0; i < 100; i++)
{
Console.WriteLine(i);
}
Tratamento de Erros
Tratar erros é uma das coisas mais importantes nas aplicações. Infelizmente nem todo desenvolvedor faz isto e acaba se perdendo completamente, tornando a aplicação não confiável. A estrutura do tratamento é simples, use o try ... catch ... finally.
Tenha em mente o seguinte: tudo que for código passível de erro coloque no bloco do try. Não importa o que seja, se der erro cairá no catch, e é aqui que você deve tratar o erro. O catch pode ser customizado para tipos definidos de erros, por exemplo, erro de abertura de conexão com banco de dados, divisão por zero, enfim, se você pesquisar pela expressão Exception no help do VS verá quais existem.
No código a seguir, dentro do try forcei um erro de divisão por zero, e como coloquei um catch para capturar este tipo de erro (DivideByZeroException), é óbvio que será mostrada a mensagem deste catch. Observe que o catch genérico sempre deverá ser usado por último, ou seja, se não cair em nenhum customizado, sobra para o último. A vantagem é que você pode usar uma variável (neste caso ex) para ter acesso às propriedades do erro. Eu usei o ex.Message para mostrar a mensagem de erro do framework.
E o finally, para que serve? Entend o finally da seguinte forma: dando ou não erro, o finally será executado. Um exemplo simples de uso é nas conexões com banco de dados, dando ou não erro, feche a conexão.
try
{
// bloco de codigos
int valor = 10;
int zero = 0;
Console.WriteLine(valor / zero);
}
catch (DivideByZeroException)
{
Console.WriteLine("Vc nao pode dividir nada por zero");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
//throw;
}
finally
{
Console.WriteLine("mostra o finally");
}
Programação Orientada a Objetos
Pensar em .Net é obrigatório saber OOP porque tudo é baseado em OOP.
O que é um objeto?
Um objeto é nada mais que uma classe, que pode ter propriedades e métodos. Propriedades da classe são as características e os métodos são as ações. Neste exemplo a seguir defini a classe chamada Jogador contendo 3 propriedades, sendo id, nome e modalidade. Cada propriedade tem um tipo (int, string, double, datetime, etc). Já os métodos desta classe são Salvar e Excluir, os quais não estão implementados, mas são as ações desta classe.
public class Jogador
{
// propriedades
public int id { get; set; }
public string nome { get; set; }
public string modalidade { get; set; }
// métodos
public void Salvar() { }
public void Excluir() { }
}
Como instanciar um objeto e preenche-lo? No código a seguir veja como instanciar o objeto/classe Jogador e preencher com as propriedades definidas na classe. Eu usei a palavra chave var porque o C# atribui o tipo de acordo o conteúdo e como no new está setado o Jogador, então, automaticamente a variável obj passa a ser do tipo Jogador. Uma vez finalizado o preenchimento você tem acesso a tudo da classe, desde que seja pública é claro. Neste exemplo, será mostrado o nome do Jogador através da propriedade obj.nome.
var obj = new Jogador
{
id = 10,
nome = "Paulo",
modalidade = "xadrez"
};
Console.WriteLine(obj.nome);
Construtor da classe
Quando você precisar instanciar uma classe, mas alguma informação deve ser passada logo no início, você pode inserir o campo no construtor da classe. Exemplificando, veja a mesma classe Jogador contendo a propriedade idade. Observe que logo após a declaração da classe é definido o campo idade e no construtor public Jogador (int idade) já é esperado o valor da idade. Neste caso
public class Jogador
{
public int idade;
public Jogador(int idade)
{
this.idade = idade;
}
// propriedades
public int id { get; set; }
public string nome { get; set; }
public string modalidade { get; set; }
// métodos
public void Salvar() { }
public void Excluir() { }
}
Neste caso, quando instanciar a classe Jogador, a idade deverá ser declarada imediatamente entre parênteses.
var obj = new Jogador(25)
{
id = 10,
nome = "Paulo",
modalidade = "xadrez"
};
Console.WriteLine(obj.nome);
Herança de Classe
Um dos melhores conceitos que existem no OOP é a herança. Isto permite criar uma classe base e herda-la quando necessário. Na classe base normalmente colocamos propriedades e métodos básicos, genéricos e nas classes que herdam esta, colocamos as particularidades.
Veja que criei a classe Xadrez e herdei de Jogador. No C# para herdar uma classe use o :. Neste caso, a classe Xadrez tem as propriedades nível e rating. No entanto, veja que o construtor também usa o idade, pois na classe base Jogador, a idade deve ser declarada quando instânciada.
public class Xadrez : Jogador
{
public Xadrez(int idade):base(10)
{
this.idade = idade;
}
public string nivel { get; set; }
public int rating { get; set; }
}
Agora veja como instanciar a classe Xadrez. Observe que as propriedades id, nome e modalidade não existem em Xadrez. Porém, como Xadrez herda de Jogador, você tem acesso a todas estas propriedades de forma transparente. Isto é fantástico, otimiza código, facilita a manutenção e você consegue estender várias funcionalidades.
var objX = new Xadrez(27)
{
nivel = "avançado",
rating = 10000,
id = 20,
nome = "Alvaro",
modalidade = "xadrez"
};
Console.WriteLine(objX.rating);
Vale dizer que todas as propriedades e métodos vistos aqui são públicos (public). Caso queira que uma propriedade seja vista apenas de dentro da classe, use private ou protected. Isto vale para métodos também.
Renato Haddad (rehaddad@msn.com – www.renatohaddad.com ) é MVP, MCT, MCPD e MCTS, palestrante em eventos da Microsoft em diversos países, ministra treinamentos focados em produtividade com o VS.NET 2010, ASP.NET 4, Entity Framework, Reporting Services e Windows Phone. Visite o blog http://weblogs.asp.net/renatohaddad.
Already have a Channel 9 account? Please sign in
Follow the Discussion
Oops, something didn't work.
What does this mean?
Following an item on Channel 9 allows you to watch for new content and comments that you are interested in. You need to be signed in to Channel 9 to use this feature.What does this mean?
Following an item on Channel 9 allows you to watch for new content and comments that you are interested in and view them all on your notifications page.sign up for email notifications?
Legal, bem interessante
Excelente, parabéms pelo post.
Muito bom, principalmente para quem não tem muita experiência com C# (que é meu caso - pois trabalho com VB.net).
Eu sei, é só VB.net!
...mas eu gosto.
"continuem semeando daí,
que eu continuo colhendo daqui."
muinto bom msmo
Muito Bom!
Excelente
Legal...
Parabéns
Relembrar é viver... Artigo sintético e necessário a todo desenvolvedor obrigado Renato pela contribuição aos milhares de desenvolvedores que passarão por aqui...
Muito bom...
Relembrando alguns conceitos e aprendendo sempre!
Ta ótimo.
Muito bom e bem simples.....
Bom! parabéns, continue com a iniciativa!
Estas informaçoes sao preciosas,sem falar que pouco tempo eram de valores muito alto que nem todos tinham condiçoes finaceiras para adiquirir.Valeu pela a iniciativa!!!
Está de excelente esse materia, tem me ajudado muito.
Muito Bom. Bastante sucinto!!
Parabéns..
Mas só uma coisa: Objeto não é uma classe!.. É a instância de uma classe..
=)
Uma Otima Base Pra quem Tah Iniciando, e pros veteranos e sempre bom olhar para o passado e o enchergar com outros olhos !!
Material de fácil compreensão.
Gostei, assunto muito importante mesmo!
Ótimo Post Renato,
Simples e objetivo.
Parabéns.
Bom, muito bom mesmo.
Muito bom este post, explica de uma forma bem clara os conceitos das estruturas de decisão, muito bom mesmo Parabéns pelo ótimo trabalho aqui compartilhado.
Parabéns !!
Claro e de facil compreensão !!
Muito bom, agora aprendi a tratar erros, eu sempre perdia tempo com erros bobos.
resumo muito legal, parabéns
Legal, muito bom...
Parabéns!
conteudo muiito bom. facil para entendimento.
O conteúdo está muito bom apesar de alguns erros de grafia e português.
Simples e Objetivo ! Parabéns
Muito bacana, simples e conciso.
Ótimo, bastante resumido porém muito bem explicado! Adorei! Parabéns!!!
Gostei das explicações, obrigado!
Bem legal,
Estou começando na área de desenvolvimento e achei o Post bem interessante...Resumido e de fácil assimilação....
Show...
Muito Bom!!
Eh sempre bom relembrar...
parabens pelo post...
Direto e cacetero.
Bom!
Gostei muito pois pude comparar com a parte de programação que já sabia.
Muito bom.
Fácil e rápido!!
Obrigado aew!!!
Muito bom .
Muito bom!!
Muito bom.
Gostei muito das explicações do conteúdo inicial.
Bom, gostei.
Otimo lembrei de muitas coisas da Faculdade valeu....
estou começando bem interesante;
Ótimo material para consulta.
Ótimo, bastante resumido porém muito bem explicado! Adorei! Parabéns!!!
Muito bom..
Muito bom o curso de Fundamentos
não entendi muita coisa, mas pretendo me inteirar mais no assunto.
obrigado
Só vocês mesmo da Microsoft para tem essa excelente idéia, parabéns.
Muito bom o artigo, parabéns!
Introdução muito boa, com exemplos claros.
esse material foi bem elaborado gostei!
Muito bom para relembrar velhos conceitos e com uma abordagem clara, simples e objetiva. Parabéns!
Material muito bom, básico porém bem intuitivo e claro !!!
sou desenvolvedor delphi, migrando para C#, [e impressáo minha, mas na questão classe e herança o C# parece muito o Java, tirem essa dúvida.
Muito bom para o usuario iniciar a aprendizagem em C#
Intordução bem objetiva,parabêns ao autor!
Gostei muito e ainda vou poder revisar para a prova!
Bacana, gostei
Muito didático.
Muito bom mesmo viu, ainda mais para um aprendiz como eu, so fez somar.
muito bom gostei muito intuitivo e fácil de aprender
Muito mal escrito.
Erros de digitação (escrever SWTICH QUATRO VEZES é mto tenso), erros de ortografia, exemplos q simplesmente não funcionam.
Exemplos horríveis, sem a menor lógica q confundem até quem já é programador.
Decepcionou bastante pro "nível Microsoft" (não sei se com esse artigo ou com a qualidade da Microsoft em si, já que tô fazendo o curso da Microsoft Virtual Academy e o nível tá bem fraco).
muito massa!!!
Muito bom e intuitivo para min que estou iniciando na area da programação , foi de grande valia .
Obrigado e parabéns pela iniciativa, muito bom.
Muito bom, mas voei em alguns exemplos, pois sou iniciante.
Ótimo Post, aborda os assuntos de forma clara e direta. Perfeito para quem esta iniciando!!!
Parabens
Muito bom mesmo! Me ajudou bastante!
Que perca de tempo procurar erros de português (que nem considero erro, considero deslize) e criticar o nível, que diga-se novamente, Renato deixou claro ser iniciante.
Se quer algo mais avançado, vai pro Architect Academy, para de criticar e veja que o comentário geral é de elogios.
Parabéns, Renato! Há pouco mais de uma década tive a sorte de acompanhar algumas contribuições tuas.
Muito bom a matéria. Abordagem de modo simples de entender. Agora consigo entender mais plenamente os conceitos abordados.
Muito Bom !
Muito bom, bem fácil de entender
Legal!!
Muito bom o conteúdo, aprendi um pouco sobre a linguagem.
Relembrar é viver...
Qual programa devo usar para criar os códigos mostrados no vídeo 1?
Relembrar é ÓTIMO!!
parabéns!
Ótimo, vamos ler e relembrar que é muito bom mesmo
ehehehehe...
Vale a pena relembrar
Obrigado a todos pelos comentários, mesmo os que estão "sempre" descontentes com tudo o que se lê e faz, paciência, faz parte da vida!
Uma coisa é fato, a MS me pediu um conteúdo bem introdutório e fácil, porém, bem básico e creio que o artigo se enquadra no escopo. Dizendo que até o momento 98,8% dos comentários são favoráveis, fico feliz.
[]s e sucesso
Como já mencionado, material bem estruturado, visando o público iniciante. Muito proveitoso.
Estou iniciando agora, e achei muito tranquilo o tutorial. Parabens!
Renato parabéns, excelente didática. Objetivo e claro.
Só tenho 3 comentários se permite:
1- No tratamento de erro Try Catch, faltou explicar o uso do throw. Colocou como comentário, mas sem explicações, principalmente porque o VS coloca ele automaticamente em certas situações.
2- (a) Ao instanciar um objeto, faltou aprofundar um pouco mais. Os casos da teclaração específica do tipo Forms frm = new Form1(). Pois o uso da var não ficou claro.
2- (b) Na hora de instancira, não usou () ao final da classe no exemplo.
3- Faltou alguns outros laços, principalmente o que valida após a primeira interação.
No resto perfeito.
Acredito que o título do artigo deveria ser Introdução ao Desenvolvimento de Software. Faltou abordar assuntos como polimorfismo, abstração e outros, para ficar mais completo.
É a linguagen de progranmação que mais gostei....!
Muito bem explicado, acredito que compartilhar conhecimento seja gratificante, para quem o possui.
Parabéns, e Obrigado.
Com esse Post. Deu uma clareada em algumas coisas em que eu estava com dúvidas.
Muito legal!! E excelente didática. Valeu!
material excelente e de facil aprendizado, simples e pratico, teoria e pratica, otimo
Muito boa didática.
Renato, muito bom o seu post. aos descontentes, nunca vamos agradar a todos. continui assim fazendo a diferença. Não foi atoa que a maioria dos comentários são positivos.
muinto bom
Muito bom.
Parabéns pelo material..
Muito bom....
Excelente! Simples e objetivo!
Parabéns!
Parabéns Renato. Muito bem sucinto e claro.
Excelente material!
Ótimo resumo,está de parabéns
Bem resumido, porém bastante explicativo!
Gostei da explicação . Você é o cara.Valeu.
ótimo post gostei achei muito interessante vlw
Gostei muito deste post. Para quem quer começar a utilizar a programação, como eu, foi ótimo.
este é um método que exige muita atenção e disciplina do aluno, resultando no excelente aprendizado!
Muito interessante para quem está iniciando na área de programação. Apesar de já estar familiarizado com as estruturas e conceitos OO apresentados, devido ao desenvolvimento em Java, Ruby, C++, etc, foi interessante para identificar algumas particularidades referentes á sintaxe básica do C#.
Para o comando if, posso utilizar somente operadores relacionais como <, <=, >, >= ou == na comparação de dados?
A resposta de falsa pois posso utilizar a comando
if (varString.equals("xptp"))
ou
if (varBooleana)
Fácil e muito didático.
Obrigado.
Muito bom esse post... para quem tá começando em C#
Em vez de:
bool cond = true;
int contador = 50;
while (cond)
{
if (contador == 60) cond = false;
Console.WriteLine(contador++);
}
Poderia ser:
int contador = 50;
while (contador <= 60)
{
Console.WriteLine(contador++);
}
Muito bom.
Parabéns, Simples e Objetivo. Gostei
Muito bom!
muito interessante muito bom o post
Aplaudo pela iniciativa, assim os profissionais ou não poderão ter um espaço para adquirir conhecimento na área
C# Lembra muito VB e C++, quem conhece assimila fácil.
Achei legal.
Excelente continue assim !
Simples e direto, bem didatico. Gostei
Parabéns !
Parabéns, realmente muito bom.
Muito Bom!!!!
Parabéns, bem explicado.
Muito bom! Simples e direto!
Excelente!;)
legal
Muito bom. Parabéns!
Bom o post!
ótimo post ! :D
Muito bom e bem definito.
Excelente !!!
Conteúdo muito bom e explicativo. Como conteúdo introdutório está ótimo.
Valew
Muito bom!
Muito Bom
Bem resumido, mas muito bom pra relembrar os conceitos
Texto muito bom. Os conceitos básicos foram passados de forma clara e com exemplos muito fáceis de entender. Parabéns.
muito bom!
D+
otimo
Muito bom. Aprendi muito. Só tenho desenvolvido alguns programas em VB.NET, mas só por diversão. É bom aprender outras liguagens.
Gostei da forma em que foi apresentada a linguagem; Simples sem delongas, direto no assunto.
Muito interessante, linguagem simples, fácil de entender...
Bem direto e com conteúdo bem introdutório, serve muito bem ao que se propôs. Eu, que nunca tinha entendido o porquê do try-catch finalmente me caiu a ficha, rs.
Eu só não entendi a passagem "public Xadrez(int idade):base(10)". Por que o (10)?
Linguagem simples! C++ tem um melhor desempenho!
Simples, como já conheço o Java, entendi direitinho, mas, fiquei confuso como a Diana NoWay sobre public Xadrez(int idade):base(10)". Por que o (10)?.
No mais esta tudo ok
gostei mto bom
Otimo
Ótimo.
Muito legal o material... Parabens!
ok, bom material
ok, bom material
Otimo material
Muito bom!
perfeito!!
Excelente explicaçao!Boa base para quem esta comecando a learning C#!Parabéns!
Muito Bom. Parabéns!
Muito bom esse post, parabéns ao autor e continue com a iniciativa.
Muito bom,
O Post dá uma boa visao do que a orientação a objetos.
Adorei
O caminho é esse. ;)
Post Excelente, parabéns!
Excelente post, ajudou bastante!!!
Presico de mais orientações sobre o uso do "this." e também sobre "public Xadrez(int idade):base(10)".
Do mais foi tranquilo...
muito bom!!!!
Muito bom, parabéns !!!
Muito bom mesmo, parabéns!!!
Muito legal. Fáil de entender bem direto...
Muito.. Parabéns.!!
Parabéns pelo artigo! Bem fácil de entender.
Tranquilo, até pra mim que sou iniciante...
mito bom...
facil facil
Excelente didática, material muito proveitoso pra quem está iniciando.
Muito bem explicado e claro, simples de entender.
Show de bola, principalmente para quem esta iniciano em programação.
Ótimo conteúdo muito didático.
Cara, como sou iniciante em programação, foi muito fácil de entender. eu programo em VB. Parabéns
Isso é prático e Fácil entender..
Renato parabéns pelo post!! Explicação clara de forma simples..
Parabéns pelo post. Material muito bom!!!
Útil, Claro e aplicável. Valeu a iniciativa.
Show!
gostei muito, e espero um dia chegar ao seu nível de experiência.
Ótimo! já tinha visto outros artigos sobre classes, metodos, propriedades
mas eram muinta teoria para explicar tornando muinto demorado, mas esse sua esplicação foi clara e objetiva gostei.
Bem didático o conteúdo.
Como lido com VB e Java, esses exemplos e tudo mais foram de fácil compreensão.Excelente :D
Muito bom! Bem explicativo, com exemplos de situações reais, como quando citou sobre o uso do Try Catch Finally para fechar a conexão com o banco de dados na chave finally.
Isto faz muita diferença.
TEnho muita dificuldade com programação.
Achei esta aula simples, prática e bem resumida! Estou começando a gostar de programação!
Obrigado!!!
Nossa, pra aprender isso na primeira vez eu lí 7 capítulos de livro e não dava pra entender direito, pois o livro tem uma didática muito anos 90, mas o Hadad conseguir fazer um excelente resumo.
muito bom, gosto de material direto assim, muito mais fácil para aprender
obrigado
Simples e direto !
Muito bom !
Ótimo resumo, foi direto ao assunto e explicou muito bem.
Parabéns.
Ótima explicação... bem resumida e intuitiva
Parabéns!!!
Muito bom, claro e objetivo.
Muito bom, ajuda muito a entender o que é Orientação a Objetos.
Muito Obrigado!
Valeu!!!
Conteúdo de fácil aprendeizado e bem explicado, parabéns pela dinamica.
Obrigado!!!
Muito boa as explicaçoes, em alguns pontos foi bem especificos, me ajudou bastante ,bem dinamico o conteudo.
Material muito bom... Bastante esclarecedor.
Artigo muito bom e de fácil entendimento.
Valeu, forte Abraço,
Parabéns pelo trabalho
Muito bom
Já tava preocupado. Achei que o tamanho da página era o assunto, mas 90% é só comentário. =DDD
bastante claro muito obrigado.
entendí nada, será que vou apernder algo? N
...continuação...
não sou programador, pensei que eu fosse aprender algo mais básico...
mas não riam de mim pessoal, acho que entrei no curso errado,rsrsrsrs, só isso... o que vcs sugerem pra quem não entende nada???? Abração!
muito bom!
Zagui isso é Linguagem de programação.
o que você esta acostumado a ver são as Janelas e Campos.em outras palavras o programa pronto(funcionando)nessa programação ele Defini as Variáveis, Variáveis String, Numéricas, Decisões, e comandos de Contador.A Linguagem C# e muito complexa sugiro faço um curso de Delphi que também é uma linguagem Programada Objeto. Obrigado
Muito bom! Sua didática é fluida e de fácil compreensão. Em meu caso, que tenho interesse direto em VB, penso que poderia acrescentar exemplos em outras linguagens, para tornar ainda mais atrativo à compreensão.
Para quem está começando programar em .NET como eu, ótimo tutorial. Puxa!!! Está sendo uma ótima decisão escolher esta plataforma.
Muito Bom!!!
Muito Bom!!!
Bem explicativo
Muito Bom
simples e objetivo
Muito bom cara. breve resumo que clarea a mente de quem ta um pouco perdido que foi o meu caso.
obrigado.
A explicação foi bem simples e objetiva, parabens!
Simples e objetivo !
Ótimo. Simples e prático
Ficou muito bom, parabéns.
Parabéns muito bom mesmo.
Muito bom, simples e direto.
Parabéns.
Muito bom! Parabéns...
Muito bom ..
Achei muito instrutivo e objetivo.
Muito legal
Ótima explicação, objetiva e clara.
Explicação que conserta os conceitos "herdados".
Muito bom o material
Muito bom esse primeiro treinamento!
Muito bom, simples e prático.
Legal, parabéns pelo treinamento!
Realmente é excelente o Material exposto, continue nesta iniciativa... sucesso
interessante,intuitivo,boa dica obrigado
Sou estudante na Etec de Bauru, e havia visto alguns videos seus, muito bons, e estou contente em estar participando destes cursos do mva. Agradeço a voce por dispor destas aulas para nós. Tenho 56 anos e pretendo muito aprender
Parabéns !!
De uma facilidade de compreensão maravilhosa!!
Obrigado.
Claro e direto ao ponto, parabéns!
Muito bom!
leitura agradável e interessante
Achei muito esclarecedor o post, mas poderia ter uma pequena revisão no texto.
Explicações básicas bem elaboradas... Parabéns!!
Muito bom, principalmente para quem
esta começando a aprender C#,
que e o meu caso, eu já trabalho com vb.net.
Participei de algumas palestras do Renato Haddad no TDC
em Floripa, show...
Parabéns!
Excelente material, reelembrar nunca é demais.
Muito bom!!!
Muito bom!
espero aprender muito
Claramente observamos que o material foi feito as pressas, mesmo assim, há pontos chaves interessantes nos códigos mostrados. Uma revisão e correta formatação deixaria o conteúdo perfeito.
Muito bom essa explicação esta de parabens
Bem simples e válido esse post. O que importa é o conteúdo!
Gostei simples e objetivo
Gostei simples e objetivo
muito bom!
muito interessante !!!
Todos os pontos abordados de fácil compreensão.
muito bom, super bem explicado.
Muito bom gostei, dá para ter uma noção
Muito Bom! Simples e direto! Porém vale ressaltar que o uso excessivo do bloco try catch finally pode acarretar perda de desempenho ou performance, pois exite um custo no tratamento de execeção além de efeitos colaterais inesperados. Portanto não é aconselhável afirmar "tudo que for código passível de erro coloque no bloco do try", o que vale aqui é o bom senso.
Ótimo artigo. Descreve com clareza o básico do OOP, com exemplos práticos na linguagem C#.
Parabéns!
Muito explicativo parabéns !
Muito boa introdução.
Muito bom começo, vlw.
Amigo... excelente... como a maioria deve ter achado simples mas muito explicativo e educativo... Parabens...
só acho que no exemplo:
idade = 13;
if (idade == 10)
Console.WriteLine("igual a 10");
else if (idade >= 12 && idade <=16)
Console.WriteLine("Adolescente");
else
Console.WriteLine("maior que 16");
poderia ser usado da seguinte forma...
idade = 13;
if (idade <= 11)
Console.WriteLine("menor que 12");
else if (idade >= 12 && idade <=16)
Console.WriteLine("Adolescente");
else
Console.WriteLine("maior que 16");
Motivo: Se colocarmos idade = 9 (no limite da primeira condicao) ou ate mesmo colocarmos idade = 11 o programa ira mostrar no Console "idade maior que 16".
Foi consistente e bem elementar,para os mais principiantes é o ideal;Bem legível a explicação. Gostei!
Muito bem explicado. Gostei muito!!
Muito bom.
Muito bom..pois não tenho muita experiência..
Muito bem explicado
Muito bom
Muito bom!
Aprendi varias coisas na prática sobre POO que eu só sabia na teoria, agora sei aplicar!
Obrigado.
Muito bem apresentado, de fácil compreensão e interpretação.
Parabéns!!
Tive a oportunidade de ler vários artigos do Renato. Fico feliz por saber de sua competência e simplicidade em todos artigos que já vi publicados na internet. Grato..
Um belo início ao fundamento da programação, objetivo e exemplos interessantes. Parabéns.
Muito bom!
Simples e objetivo.
Muito bom!
Muito bom!
Olha só este material nos da uma luz pois estou nessa área e tenho dificuldades em alguma coisa ainda pois todo material de apoio sempre sera para nosso aprendizado basta nos dedicar tambem....
Direto ao assunto. Bem objetivo.
Porém como é um treinamento poderia colocar em cada comando exercícios.
Muito bom. Simples e objectvo. Parabéns!
Gostei da forma como o assunto foi abordado. Os exemplos dados são de facil compreenção.
Muito bom artigo, bem simples e objetivo. Li o conteúdo que faz parte do Fundamentos do desenvolvimento de software do Microsoft Virtual Academy.
Obrigado.
Mt bom! Parabéns
Excelente material, bem detalhado e esclarecedor.
Parabéns
Muito bem apresentado, de fácil compreensão e interpretação.
As explicações, em alguns pontos foi bem específicos, me ajudou bastante ,bem dinâmico o conteúdo.
Muito bem montado este post.
Os que não conhecem bem a linguagem c# e tem pouca experiência em programação essas informações são muito úteis.
opa, vlw pela aula, foi muito bom relembrar
Muito Bom, Parabéns.
Sou licenciado em Computação (2010) e me interessei por programação recentemente, mas especificamente por C#. Gostaria de saber se este curso é o ideal para quem está tendo o primeiro encontro com a linguagem ou se é voltado apenas para desenvolvedores com experiência no assunto.
Parabéns Renato,
Muito o conteúdo como sempre!!
Obrigado pela oportunidade de começar a aprender uma nova linguagem, desta forma tão simplificada como foi apresentada;
Obrigado
Não consigo ir pra proxima aula....
Ótimo!!! Direto ao assunto!!
Muito bom. objetivo!
Muito bom
muito bom
Excelente sem rodeios!
Simples e Objetivo
Muito bom!
Parabéns;
Linguagem simples e clara.
Simples, claro e objetivo!
Muito bom to impolgado
Como 1º contato, foi bom.
Excelente.
Tutorial legal, e bem simples. Gostei, apesar de alguns erros, como os if's aninhados, que dá uma resposta errada se for inserido idades menores, 8 por exemplo, não é maior que 16.
Muito bom, estou iniciando agora e já gostei muito!!
Legal, muito bom
parabens
Gostei muito deste artigo, porque só tinha ouvido falar em programação em C#, e agora tendo acesso e podendo aprender, para mim esta sendo muito gratificante. Parabéns
Parabéns! Muito bom mesmo!
Muito bom!
muinto bom!
muito bom a introdução ao C# , no momento só sei programa em C++ , bem que a Microsoft poderia criar um instituição acadêmica no Brasil, tipo uma faculdade, lhe garanto que vai ser um maior sucesso.
sou nova nisso, não entendi foi nada, rsrsrsrs
Muito legal!
Realmente muito sucinto, ja li inumeras vezes essa explicação em varias fontes mas nenhuma tao bem explicada.
Mto bom!
Estou gostando muito dos ensinamentos.
Não esperieciência em programação, mas, quero aprender.
otimo excelente explicação
Gostei muito da explicação.
Já seu o básico de Java e agora vou começara a aprender C#.
E esse post me ajudou a perceber como as linguagens se parecem em alguns pontos.
Muito bom o post, muito bem explicado e simples.
Muito bom, simples e objetivo
simples e objetivo, parabens pela iniciativa!
Muito legal!!! Simples e prático! Parabéns
Muito bom pelo método muito simples de explicar o conteúdo. Muito bom. Parabéns.
no caso do exemplo do while fiz assim:
int contador = 50 ;
while (contador<=60)
{
Console.WriteLine (contador++) ;
}
cool
Gostei muito.
Muito bem explicado !
Ótimo!
Muito bom o texto
Muito excelente
Muito bom o texto.. nao sou muito fã de POO mas fazer oq ne?
Muito bom!
Para quem está aprendendo agora como eu...valew d+!
Ainda to na dúvida se sigo em frente com o C#, mas pelo visto é uma das linguagens de sintaxe mais simples né????
Grande abraço.
Bem leve e claro! Gostei !!!
Parabéns pelo artigo, muito bem feito, bem explicado, muito bom mesmo. E é muito interessante fazer o uso da linguagem C# pois assim fica mais fácil pra gente. :D
Muito bom, Parabéns pelo artigo...
legal!!!!
Aprendi mais um pouco de C# por aqui, amanhã estarei melhor preparado para a prova, valeu!!!
Show de bola.
Muito legal, Fundamentos do Desenvolvimento de Software aqui esta o básico.
Muito legal, Fundamentos do Desenvolvimento de Software aqui esta o básico.
Muito bom e rápido nas explicações e definições.
explicacão muitooo boaa, parabens 10.....
Bem apresentado, resumiu muito bem. Ótimo
Excelentes explicações, parabéns.
Muito bom este post.
Principalmente para quem ta aprendendo como eu.
Grato
Ótimo post, ajuda bastante
Muito bom Parabéns
HUMM!!! QUERO TANTO APRENDER A PROGRAMAÇÃO JÁ FAZ ALGUM TEMPO QUE VENHO LENDO MUITO SOBRE ESTES ASSUNTOS NA NET, SOU INICIANTE DE TODAS AS LINGUAGENS E VENHO TENDO MUITAS DIFICULDADES AINDA, TENHO FACILIDADE COM HTML,JAVASCRIPT,CSS, E GOSTO MUITO DE C# CONHECI ASP.NET AGORA POUQUÍSSIMO TEMPO AQUI NA MICROSOFT VIRTUAL ACADEMY E AGORA ESTOU MUITO MAS ÍNTERRESSADO NO ÁPRNDIZADO, VENHO LENDO ESTES POST FREQUENTEMENTE ADOREI ESTE POST DO RENATO AJUDOU BASTANTE, QUERIA UMA AJUDA COM A FORMA DE ESTUDO, O QUE TENHO QUE LER PRIMEIRAMENTE,QUAL A MELHOR FORMA DE ESTAR CRIANDO MEUS PROPÍOS SOFTS, E ATÉ MESMO PARA SE SEGUIR CARRERA PROFISSIONAL, SE ALGUÊM COM MAS EXPERIENCIA PODER ME DAR UMAS OPNIÕES FICAREI MUITO AGRADECIDO! VALEU ^^
Parabens pelo Post é mto bom.. Principalmente q estou migrando de area aqui na empresa e como DBA estão me colocando para programar agora estou correndo atras pois acho mto interessante e posts assim realmente ajudam mto.
Parabens.
Muito Bom.
Bom demais!
Excelente artigo! prático , assertivo.
Excelente materialQ! Parabéns e muito obrigado. Deus o abençoe Renato.
Ok valido!!!
Material simples e objetivo.
Gostei muito!
Já programei por anos em Clípper e pensava estar perdido todo o conhecimento que absorvi.
Uma luz no fim do túnel pra que quer recomeçar.
Como todos já disseram, muito bom mesmo essa material.
Boa Tarde,
Foi muito construtivo cara esse post é muito valido para iniciante. Já repassei para alguns amigos meus .. Estou interessado no módulo 2 e 3.
Muito bom, como aprendi 2 linguagens atuais n facul, estava esquecendo de coisa basica... lembrei de tudo agora
Ótimo, estou acompanhando o processo. Gostei!
Muito bom. Obrigado.
Muito Bom, obrigado pelo ensinamento.
Show de bola!
Show de bola!
Gostei. Simples, direto e objetivo.
Legal..é bom rever conceitos..
Perfeito, parabéns pela didática.
Muito bom, é sempre bom manter os conceitos como parte principal para o inicio de desenvolvimento
Parabéns pelo Material, como sou iniciante, servirá de alicerce no meu aprendizado. Muito Obrigado!
EXCELENTE
Obrigado pelos conhecimentos. Muito Simples e claro
Muito bom, parabéns
Boa de mais , parabéns
Muito bom...
Muito bom simples e objetivo.
Explicação de forma limpa, resumida e bem objetiva. Parabéns.
gostei.
Recomendo á todos que pretende ver nossa Patría no topo, Tecnologicamente.
Excelente post! =)
Excepcionalmente claro creio que agora possamos vivenciar mais as contruções de nossos códigos que naturalmente serão simples !!!Parabéns!!!
Muito bom...
nunca fiz curso de programação.mais me interessei nesse curso de desenvolvimento de software.eu começo por onde p entender melhor esse assunto?
Muito interessante, até mesmo para iniciantes. Gostei do post.
Um contudo otimo bem explicado!!!! muito bom!
Gostei muito, conteúdo muito claro e detalhado, parabéns!
Gostei muito! bem explicativa. Conheço bem a liguagem java epouco a c# porém tive pouca dificuldade em entender sua explicação. Obrigado!
Gostei muito da Explicação
muito bom!!
Muito interessante
Parabens muito bom!!
Muito Bom Gostei.
começando uma nova visão de mercado de trabalho gostei do inicio pra mim muito proveitoso.
Excelente, sempre sofri com POO
Muito boa essa explicação.
Gostei bastante do artigo. Parabéns Renato!
Gostei muito , algumas coisa que caíram no esquecimento , legal relembrar.
Interressante ...
Parabéns !! Ótimo o material..espero que professores também possam se espelhar nesse tipo de material e ver como é fundamental o ensinamentos de conceitos básicos...mais uma vez Parabéns.
Muito bom parabéns!
Excelente...
Gostei muito da explicação em forma de leitura.Sou iniciante no contexto de TI,mas pelo que entendi se agente praticar agente vai assimilar mais esses código.Estou muito interessando em aprender mais!
As explicações sao muito interesante
Legal, direto, simples e objetivo nas informações. Sem detalhes desnecessários ou aprofundamentos que não servem muito na prática.
Parabéns!
Muito bom.
Foi muito claro e objetivo nos exemplos.
Parabéns!
Muito bom!
LEGAL !
Muito bom!!!!!!!
Gostei
AS EXPLICAÇÕES E AS INFORMAÇÕES SAO MUITO IMPORTANTES PRINCIPALMENTE PARA MIM QUE ESTOU NO 1º PERIODO DE SISTEMAS DE INFORMAÇÃO.
As explicações foram muito boas e bem útil para aumentar meu conhecimento !
Muito bom. Muito bem explicado. Parabéns por abordar de forma clara assuntos que muitos autores as vezes fazem rodeios e acabam complicando.
muito bom
Muito bom, claro e objetivo
Este post é simples porem bem elaborado, fácil compreenção. Parabens para o autor.
Muito bom, parabéns.
Exelente!!
Eu perdia muito tempo com erros imbecis, e agora aprendi a tratar muita coisa na programação orientada a objetos.
Na parte do switch, a palavra está escrita errada, diversas vezes.
"Já pensou em escrever um código com muitos IFs? Não faz muito sentido isto. Em minha opinião fica um código que chamamos de sujo, de difícil manutenção, então se faz uso do comando swtich. Veja o exemplo a seguir: a variável linguagem contém o texto "cs". O swtich avalia exatamente esta expressão swtich (linguagem). Dentro do bloco você deve colocar o case para cada condição a ser avaliada, e de acordo com o resultado, executa-se o código. Neste caso, dependendo das condições (vb ou cs) será mostrada a respectiva mensagem. Note que se nenhuma acima for atendida, então o fluxo cai no default. Observe que há a palavra chave break, que tem a finalidade de encerrar o swtich e seguir a execução dos códigos abaixo do fechamento do bloco do swtich. O break não é obrigatório mas se você não colocar, a cada case será realizado o questionamento da expressão."
Otimo!
muito legal bem explicado
Olá,
Muito bom o artigo! Eu estou começando agora no mundo da programação e ja estou fascinado em C#.....
Abraços, Diogo.
Muito bom
Básico como foi a proposta.
Parabéns
Muito bom o artigo, parabéns.
Muito bom o artigo, parabéns.
Boa explicação, muito fácil de entender....
Conteúdo com simplicidade e objetividade.
Parabéns!
Gostei do post. É de extrema importância.
Muito bom o artigo, parabéns.
Parabéns e obrigado,
Galera não vamos perder a capacidade de continuar o curso, vamos buscar as alturas dessa oportunidade com empenho, falo isso pq já passei por está 'transformação' e sei que é gratificante.
Abraço a todos!
Estou começando agora o curso de ADS à distância. Uso o Dev-cpp, então fico insegura quando uso o C#, mas achei legal sua iniciativa.
Parabéns!
tenho um tempo razoável estudando programação e essa foi uma das melhores definições de fundamentos de desenvolvimento de software, principalmente quando vc fala sobre OOP. Parabéns.
Muito Bom. Parabéns
Muito bom, boa explicação!!
bem feito
claro e objetivo
Remove this comment
Remove this thread
close