Baixe o app para aproveitar ainda mais
Prévia do material em texto
ANDRIELLE AZEVEDO Pesquisa pesquisa INÍCIO » C# » CONCEITOS BÁSICOS DE POO (PROGRAMAÇÃO ORIENTADA A OBJETOS) PARA C# – PARTE 2 Conceitos Básicos de POO (Programação Orientada a Objetos) para C# – Parte 2 Continuação do artigo Conceitos Básicos de POO (Programação Orientada a Objetos) para C# – Parte 1. O que é herança? – As classes podem ser especializadas (ou generalizadas). – Base conceitual para permitir a estensibilidade e reusabilidade. – Define um relacionamento “is-a” ou “a-kind-of”. – Utiliza-se herança para: -> Criar especialização de classes e objetos existentes. -> Adicionar novos dados e comportamentos, conhecido como estender ou especial. Herança no C# – O caractere : é usado para indicar que uma classe herda de outra. Por exemplo: public class Elefante : Animal – Modificadores de acesso fazem diferença na relação de herança: public, protected, internal, protected internal e private. – Modificadores: abstract, virtual, override e sealed. Modificadores de acesso TÓPICOS RECENTES Minha história profissional: o princípio de tudo Gooogle’s Women Techmakers Instalando Entity Framework via NuGet e PowerShell ODT para Visual Studio 2013 Projeto Coaching MTAC – Como participar da comunidade? CATEGORIAS Access ASP.NET ASP.NET MVC Biografia C# Comunidade InícioInício Sugestões para estudoSugestões para estudo TechNet WikiTechNet Wiki Tutoriais em SérieTutoriais em Série – Dada uma classe A, os campos e métodos podem ter os seguintes modificadores: -> public: o aesso é ilimitado para qualquer classe ou qualquer assembly. -> protected: o acesso é limitado aos métodos da própria classe ou os membros das classes derivadas, em qualquer assembly. -> internal: o acesso é limitado a todas as classes no mesmo assembly. -> protected internal: o acesso é limitado ao assembly ou aos membros das classes derivadas. -> private: o acesso é limitado a própria classe. Classes abstratas – Definidas com propósito de herança. – Uma classe abstrata não pode ser instanciada. – Cria-se uma definição comum que será compartilhada pelas classes derivadas. – Pode definir métodos abstratos (declarados com abstract), não tem implementação e terminam com ; . – Uma classe sealed não pode ser abstract. Overriding – Mecanismo que permite uma classe derivada redefinir (sobrescrever) um comportamento (método) herdado da sua classe base. – O modificador override é requerido para estender ou modificar a implementação abstrata ou virtual de um membro herdado: método, indexador, propriedade ou evento. – O método da classe base que é sobrescrito deve ser virtual ou abstract ou override. – O método da classe derivada que sobrescreve deve receber o modificador override. Operador sealed – Pode ser aplicado a classes, métodos de instância e propriedades. – Uma classe sealed não pode ser herdada. – Um método sealed pode sobrescrever um método de uma classe base mas ele não pode ser sobrescrito numa classe derivada. – Quando aplicado a um método ou propriedade, deve sempre ser usado com override. – É um erro usar uma classe sealed como classe base ou usar com o modificador abstract. O que é polimorfismo? Desenvolvimento Web Entity Framework HTML5 Links para estudos Microsoft Virtual Academy MTAC Office 2013 Oracle POO Projeto Coaching SQL Server Students to Business Uncategorized Visual Studio 2012 Visual Studio 2013 WebCasts Windows 8 – Quando comportamentos relacionados variam segundo o tipo (classe), atribuir responsabilidades pelo comportamento. – Dar o mesmo nome a serviços executados por diferentes objetos, quando estes são similares ou relacionados. – Os diferentes tipos de objetos são, normalmente, relacionados em uma hierarquia que tenha uma superclasse comum (não é obrigatório, pois pode ser obtido através de interfaces ou vinculação dinâmica). Tratamento de exceções Por que usar exceções? – Uma forma ultrapassada e trabalhosa de manipular erros. Blocos try-catch-finally – Solução OO para tratamento de erros. – Cada bloco try-catch trata um tipo de exceção. – O try demarca a parte do código que pode ser afetada por uma exceção. – O catch usado para filtrar os erros de acordo com o tipo da exceção, que pode ser Exception ou qualquer classe derivada. – O finally pode ser usado para executar código que será executado independente de acontecer erro. – Você pode capturar uma exceção e lançar outra mais específica. Manipulação e formatação de strings, números, data/hora e moeda O tipo Object – System.Object – Classe base de todas as classes. Qualquer classe herda, direta ou indiretamente, de object. – Métodos comuns para todos os tipos por referência: -> ToString: converte objetos para string. -> Equals: indica se duas referências são iguais. -> GetType: retorna o tipo de instância. -> Finalize: permite o objeto executar alguma limpeza ou liberação de recursos antes de ser removido pelo Garbage Collector. ->GetHashCode: função hash para tipo específico. O tipo String – System.String – Representa um conjunto de caracteres Unicode (System.Char) que são usados para representar texto. – O valor de uma string é o conteúdo de uma coleção seqüencial e é imutável (seu valor não é alterado). – Os métodos oferecidos pela string não alteram a própria string, retornam uma nova string que contém a alteração. – Fornece métodos para comparar objetos strings, retornar a posição de uma caractere ou um texto em uma string, copiar o valor da string, particionar uma string, formatação de número, data e hora (String.Format). Concatenação de Strings – A classe StringBuilder é adequada para concatenação de String quando não se conhece a quantidade de strings que serão concatenadas. – Mantém um buffer para acomodar a concatenação de novos dados. – Os caracteres individuais de um StringBuilder podem ser acessados através da propriedade Chars. – Sempre aloca memória, diferente do StringBuilder que só aloca quando o buffer é pequeno para alocar a nova string. – A classe String é recomendada quando se conhece o número de strings que serão concatenadas. Data e hora com C# – struct DateTime – Cálculos numa variável DateTime não alteram o valor da variável, e sim retornam um novo DateTime com resultado do cálculo. – TimeSpan representa um intervalo de tempo. – Fornece várias propriedades e métodos para facilitar a manipulação de data e hora. – DateTime.Now, DateTime.Year, DateTime.Month, DateTime.TimeOfDay, DateTime.Add, DateTime.AddDays, DateTime.DaysInMonth, DateTime.IsLeapYear, DateTime.ToString Leitura e escrita de arquivos Namespace System.IO – Stream é uma classe abstrata para todos os tipos de streams, ou seja, uma abstração de uma seqüência de bytes (um arquivo), um dispositivo de entrada/saída, um fluxo de comunicação entre processos ou um socket TCP/IP. – A classe Stream e suas derivadas fornecem uma visão genérica de diferentes tipos de entrada/saída, isolando o programador dos detalhes do SO e dispositivos em questão. – Propriedades: CanRead, CanSeek e CanWrite. – Read e Write: lê e escreve dados em varios formatos. – O método Close libera os recursos do SO, tais como memória, conexões de rede e arquivos. Arquivos – Algumas classes usadas para manipular arquivos: -> Directory: fornece métodos estáticos para criar, mover e listar diretórios e subdiretórios. -> DriveInfo: acessa informações sobre discos. -> File: fornece métodos estáticos para criar, mover, excluir, copiar e abrir arquivos. -> FileStream: acesso randômico ao arquivo através do Seek. -> GzipStream: método para compactação e descompactação. -> SerialPort: métodos para controle da porta serial. Stream – BinaryReader/Writer: lê/escreve string codificadas e tipos primitivos. – StreamReader/Writer: lê/escreve caracteresde um stream, usando a classe Encoding para converter para byte. – StringReader/Writer: lê/escreve caracteres para uma string, permitindo tratar Strings com a mesma API, então a saída pode ser um Stream em qualquer codificação ou uma string. – TextReader: classe abstrata para StreamReader e StringReader. – TextWriter: classe abstrata para StreamWriter e StringWriter. O conteúdo foi reproduzido do MSDN. Andrielle Azevedo de Paula MTAC – Microsoft Technical Audience Contributor Compartilhe: Mais
Compartilhar