segunda-feira, 30 de agosto de 2010

MCTS-536 - Cap 1 - Fundamentos do Framework Continuacao

Conceitos de OO

Encapsulamento: Objetivo Esconder membros
·        Tipos
§         Public: Todos.
§         Protected: A classe proprietária e todas que herdam.
§         Friend: A classe proprietária e todas do mesmo assembly.
§         Protected Friend: A classe  proprietária, as do mesmo assembly, e as que herdam.
  • Classes Top Level somente aceitam os encapsulamentos (Public, Friend).
  • TopLevel: É uma classe que não está aninhada com nenhuma outra, e rege o encapsulamento de todo o assembly.
Herança
  • Toda classe somente poderá herdar de uma outra classe, neste caso herança simples, porém uma classe pode herdar de mais de uma interface.
  • Shadows: Substitui um método da classe herdada. Pode ter outra assinatura. Pode substituir qualquer elemento.
  • Overrides: Subtitui o método com a mesma assinatura. Usando em propriedades ou métodos.
  • MustOverrides: Membro Abstrato, trata-se de métodos de uma classe abstrada, ou seja este membro não foi definido e precisa ser reescrito pela classe que herda.
  • MustInherit: Indica que é uma classe abstrata.
  • NotInheritable: Impede a Herança
Classes
  • Declaração igual a de herança
    • Class ClasseFilha : Interface
    • Classe ClasseFilha : ClassePai
  • Interfaces mais usadas
    • IComparable: Classes cujos valores podem ser ordenados
    • IDisposable: Classes para liberar recursos
    • IConvertible: Conversão para um tipo primario
    • IClonable:Copiar um objeto
    • IEquatable:Comparação para igualdade
    • IFormatable:Converte para uma string formatada
  • Partial Classes: Divide a classe em vários outros arquivos. Por exemplo form.cs, form.designer.cs
  • Type Forwading: Move um tipo, de um assembly para outro. A sintaxe é a seguinte, escrita na origem:
    • [assembly:TypeForwardedTo(typeof(Destino.tipo))]
Generics
·        Quando a variável na classe pai é declarada como o tipo object. Nestes casos as operações na classe pai seriam executada
  • Conversão de tipo é feita com a informação do tipo antes da variavel entre parêntesis
Eventos
  • É um sinal enviado por um evento sinalizando a ocorrência de uma ação
  • Event Handler: É um delegate de Eventos, não tem retorno, caso um retorno seja necessário sugere-se utilizar um novo evento, um delegate ou um generics do tipo Event Handler
  • Todo Event Handler deve ser adicionado ao projeto com o AddHandler, esse comando associa o método ao Handler, e faz parte do objeto System.
  • Um evento tem sempre dois parâmetros, um do tipo object e outro do tipo EventArgs
Delegate
  • É uma maneira de se passar como parâmetro um método

Atributos
  • São informações descritivas de um método, tipo ou propriedade que são vizualizadas através de uma técnica chamada reflection, que é parte do objeto System.Atributes. São informados entre [].
Conversão de tipos
  • Conversão automática somente é aceita nos casos onde a variável convertida caiba no tipo convertido.
  • Boxing: Transformar um value type em tipo object
  • Unboxing: Tranformar um tipo object em um value type.
  • Conversao e Custom Types

Nenhum comentário:

Postar um comentário