segunda-feira, 27 de junho de 2011

Framework Fundamentals (Herança)

Herança (Interitance)
Herança é uma das três principais características da programação orientada objeto. A herança permite herdar funcionalidade de uma classe para outra utilizando novas funcionalidades. A classe que está sendo herdada damos o nome de classe base e as demais que herdam os membros da classe base chamamos de classes derivadas. Então, explicando de forma mais técnica, a classe derivada é uma especialização da classe base. Abaixo terá um código simples em C# para um melhor entendimento.

No código temos a classe base ou classe pai chamada "Base" e dentro dela um método chamado "atribuicao" que recebe dois parametros do tipo inteiro. Logo abaixo outra classe que é derivada chamada "Derivada" que herda a classe "Base" onde a primeira seta da imagem de cima para baixo está indicando. Dentro da classe derivada temos um método "somar" que chama o método da classe base. Caso queira na classe derivada, não haverá problema para implementar novos métodos.
Espero ter ajudado. E lembrando, são assuntos da prova para a certificação, porém são exemplos simples para ter noções para códigos mais complexos. Até a próxima!

sexta-feira, 24 de junho de 2011

Framework Fundamentals (Tipos por Referência)

Tipos por Referência(Reference Types)

Bom, neste post falaremos um pouco sobre tipos por referência. São variáveis que armazenam referências aos dados diferentemente dos dados de tipo por valor. Eles também são chamados de objeto. Para converter um tipo de valor para um tipo de referência e vice-versa usamos as conversões boxing e unboxing que serão abordados no futuro bem próximo. Mas, não há conversões para variáveis do tipo de valor convertidos, ou seja, não podemos converter um tipo de referência para um tipo de valor convertido. São muitos os tipos por referência, que chega a um número de 2.500. Abaixo colocarei os mais usados:
  • Ssytem.Object
  • System.String
  • System.Text.StringBuilder
  • System.Array
  • String.IO.Stream
  • System.Exception
Ao utilizar a classe System.String, cria-se um novo objeto de cadeia de caracteres na memória, que necessita de uma nova alocação de espaço para este objeto. Caso utilize modificaões repetidas para o objeto(uma sequência de caracteres), a sobrecarga pode causar um baixo desempenho para a aplicação. É pra isso que temos a classe System.Text,StringBuilder, quando precisar modificar uma variável sem criar um novo objeto para a memória. Isso ganhará uma melhora na performance ao concatenar várias cadeias de caracteres em conjunto em um loop. Abaixo postarei um código emonstrando a concatenação de string utilizando a classe StringBuider.

O código abaixo demonstra uma concatenação bem simples. Criamos um objeto "sb" do tipo "StringBuilder", e em seguida utilizamos a palavra chave "Append" para construir a string. Depois passamos para uma variável do tipo string e usamos a classe console.writeline para mostrar na tela. Espero ter ajudado. Até a próxima.


    quarta-feira, 22 de junho de 2011

    Framework Fundamentals (Tipos de Valor)

    Tipos de Valor (Value Types)

    Tipos de Valor consistem em estruturas e enumerações. São eles integrais, ponto flutuantes e boleanos. Essas variáveis contêm valores diretamente. Caso haja atribuição de uma variável para outra variável, o tipo de valor copia os dados e não uma referência para o objeto.
    No código acima, a variável do tipo de valor "condicao" é boleana e não pode receber valor nulo por padrão, porém está declarada como "nullable<bool>  que faz permitir atribuição nulo, neste caso está recebendo o valor "false". O mesmo serve para a variável do tipo int que permite receber nulo, como está sendo feito. Em seguida é feito uma condição utilizando a palavra chave "HasValue" que verifica se o valor não é nulo.

    Certificação Microsoft 70-536.

    Neste início do blog, vamos relatar todos os assuntos referentes à prova 70-536 de certificação em desenvolvimento microsoft. A mesma habilita o profissional para as provas de MCTS, ou seja, esta prova será o ponto de partida para o sucesso. Os assuntos serão postados em tempos indeterminados, e claro, sujeitos a críticas e sugestões. Pretendo somente compartilhar conhecimento e  também adquirir com outros programadores. Quero deixar claro que estou nesta mesma caminhada. Bons estudos para todos nós!