Buscar

Conceitos Básicos de POO (Programação Orientada a Objetos) para C# – Parte 1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

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 1
Conceitos Básicos de POO (Programação
Orientada a Objetos) para C# – Parte 1
Olá. Primeiramente, quero dizer que resolvi postar esse artigo sobre conceitos básicos de POO aplicados em C#
pela sua grande importância. Quem realmente está disposto a aprender programas em C# não pode simplesmente
começar a trabalhar com linhas de código sem saber o que está usando nas mesmas. Sabe-se que a linguagem de
programação C# é orientada a objetos e, sendo assim, é importante saber o que são classes, métodos, construtores
dentre vários outros nomes e conceitos que teremos dentro da POO. Sendo assim, bons estudos!
O que são classes?
– Tipos mais importantes do C#. 
– É uma estrutura de dados que combina estado (campos) e comportamentos (métodos e outros membros). 
– Fornecem a definição da estrutura das instâncias que serão criadas dinamicamente, os objetos. 
– Suportam os mecanismos de herança e polimorfismo, que permitem uma classe derivada estender e especializar
uma classe base. 
– A declaração de uma classe especifica os atributos e modificadores da classe, o nome da classe, a classe base (se
herdar de alguma) e as interfaces implementadas (se existir). 
– Instâncias da classe, objetos, são criadas usando o operador “new”. 
– A criação de uma instância aloca memória para o objeto criado, invoca o construtor para inicializar o objeto e
retorna a referência para a instância. 
– O objeto alocado, quando não mais referenciado, será limpado da memória pelo objeto Garbage Collector. 
– Tem-se: constantes, campos, métodos, propriedades, indexadores, eventos, operadores, construtores, destrutores
e tipos.
Constantes: os valores constantes que são associados a classe. 
Campos: as variáveis da classe. 
Métodos: executados pela classe. 
Propriedades: as ações para leitura e escrita de propriedades. 
Indexadores: as ações associadas com instâncias indexadas da classe da mesma forma que um array. 
Eventos: as notificações que podem ser geradas pela classe. 
Operadores: os operadores de conversão e expressão suportados pela classe. 
Construtores: as ações necessárias para inicializar as instâncias da classe ou ela mesma. 
Destrutores: as ações executadas antes das instâncias da classe serem removidas. 
Tipos: classes declaradas dentro de outra classe.
O que são objetos?
– Representa uma instância de uma classe. 
– Identidade: todo objeto é único e pode ser distinguido de outros objetos. 
– Estado: determinado pelos dados contidos no objeto. 
– Comportamentos: representados pelos serviços / métodos / operações que o objeto disponibiliza. 
– Representa alguma coisa do mundo real. Exemplo: aluno, cliente, computador, carro.
O que são construtores?
– Instância, privado e estático. 
– Construtores de instância são utilizados para criar e inicializar instâncias de uma classe. 
– O construtor sem parâmetros é o construtor padrão. 
– Se a classe não define um construtor, o construtor padrão é gerado automaticamente e os campos são
inicializados com valores padrão. 
– É declarado da mesma forma que um método, exceto que não tem tipo de retorno (e nem void) e deve ter o
mesmo nome da classe. 
– Construtores de instância podem ser sobrecarregados e são invocados com o operador new. 
– Construtores da classe derivada podem ser chamados pela classe base.
O que são interfaces?
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
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
InícioInício Sugestões para estudoSugestões para estudo TechNet WikiTechNet Wiki Tutoriais em SérieTutoriais em Série
– Define um contrato que pode ser implementado pelas classes e structs. 
– Pode conter métodos, propriedades, eventos e indexadores. 
– Não fornece implementação para os membros definidos. 
– Basicamente, define os membros que devem ser implementados pelas classes e structs que a implementam. 
– Classes e structs podem implementar mais de uma interface. 
– Quando uma classe ou struct implementa uma interface, instâncias da classe ou struct podem ser implicitamente
convertidas para o tipo da interface.
Visibilidade dos membros
– Cada membro da classe tem uma visibilidade associada e ele, que controla as áreas de código que podem acessá-
lo.
Public: acesso ilimitado 
Protected: acesso limitado ao this e as classes derivadas. 
Internal: acesso limitado ao assembly. 
Protected internal: acesso limitado ao assembly e as classes derivadas. 
Private: acesso limitado a classe.
O que são métodos?
– É um membro da classe que implementa uma ação que pode ser executada por um objeto ou pela classe. 
– Métodos estáticos são acessados através da classe. 
– Métodos de instância (não estáticos) são acessados através das instâncias da classe. 
– Pode ter uma lista de parâmetros, que representa os valores ou referências de variáveis que são passadas para o
método; e um tipo de retorno, que indica o que é retornado pelo método. 
– O método que tem como tipo de retorno void, indica que não retorna um valor. 
– A assinatura do método deve ser única na classe, e é formada pelo nome e número, modificadores e tipos dos
parâmetros.
Métodos: parâmetros
– São usados para passar valores ou variáveis por referência para os métodos. 
– Os parâmetros obtém seus valores dos argumentos que são passados para os métodos no momento da execução. 
– Existem 4 tipos de parâmetros: por valor, por referência, de saída e arrays.
Métodos: sobrecarga
– Permite que métodos numa mesma classe tenham o mesmo nome mas assinaturas diferentes. 
– Quando sobrecarregados, os métodos são localizados pelo compilador de acordo com a sua lista de parâmetros. 
– Um método específico pode ser selecionado através da conversão dos parâmetros esperados.
O que são propriedades?
– Representam uma extensão dos campos. A propriedade tem o mesmo tipo de campo, e a sintaxe para acessá-la é
a mesma do campo. 
– Diferentemente dos campos, as propriedades não representam um local de armazenamento, e têm comando
específico para leitura (get) e escrita (set). 
– Declaradas da mesma forma que um campo, exceto que a declaração termina com get e/ou set. 
– C# suporta propriedades com instância (sem static) e propriedades estáticas (com static). 
– Podem ser declaradas com virtual, abstract ou override.
O que são enum e struct?
– Enum 
-> Define uma lista de constantes nomeadas. 
-> Pode ser definido como qualquer tipo integral, exceção char. O tipo padrão é o int. 
– Struct 
-> Uma struct compartilha quase todas as mesmas características de uma classe, mas com algumas restrições. 
-> Objetos do tipo struct são destruídos automaticamente pelo compilador, até porque é um Tipo por Valor. 
-> Structs não podem herdar de outra classe ou outra struct.
O que é um namespace?
– É um mecanismo que permite declarar um escopo, onde você organiza os tipos e declara tipos únicos. 
– São declarados: outro namespace, class, interface, struct, enum e delegate. 
– O nome de um namespace pode ser qualquer identificador e conter . no nome. 
– Mesmo se não for declarado um namespace, um padrão será criado. 
– É possível declarar um ou mais namespaces numa mesma declaração.
Manipulando vários objetos
O que são arrays?
– É uma seqüência de elementos. 
– Todos os elementos são do mesmo tipo. 
– Structs podem terelementos de tipos diferentes. 
– Cada elemento do array é acesso através de um número inteiro que representa o índice.
Arrays: dimensões
long [] linha; 
– Uma dimensão. Um índice associado a cada elemento long do array.
int [,] matriz; 
– Duas dimensões. Dois índices associados a cada elemento int.
Arrays: criação e inicialização
– A declaração da variável array não cria o array. 
– Você deve usar o operador new para criar a instância do array.
O que são coleções?
– São classes especializadas para armazenamento e busca de objetos, com suporte a listas, filas, pilhas e tabelas
hash. 
– Permitem manipular vários objetos ao mesmo tempo, com métodos para adicionar, remover, modificar um
elemento ou um intervalo. 
– São definidas nos namespaces System.Collections e System.Collections.Generic. 
– Coleções genéricas sao fortemente tipadas e melhoram a performance com tipos por valor.
Coleções genéricas
– São classes e métodos que combinam reusabilidade, tipagem forte e eficiência que não são oferecidos pelas
coleções não genéricas. 
– Suportam tipos por valor sem a necessidade de boxing e unboxing. 
– Algumas coleções genéricas: 
List : a classe genérica que corresponde a ArrayList. 
Dictionary : corresponde a HashTable. 
Collection : corresponde a CollectionBase. 
Queue , Stack e SortedList : correspondem as não genéricas de mesmo nome. 
LinkedList , SortedDictionary e KeyedCollection .
Delegates e eventos
O que são delegates?
– Representa uma referência para métodos com uma lista de parâmetros e retorno específicos. 
– Permite tratar métodos como entidades que podem ser atribuídas a uma variável ou passadas como parâmetros. 
– É um conceito similar ao conceito de ponteiro de função em algumas linguagens, mas diferem porque são OO e
tipados. 
– Para o delegate só importa o método que ele referencia, e não a classe.
O que são eventos?
– É um membro que permite uma classe ou objeto fornecer notificações. 
– É declarado da mesma forma que um campo, exceto que deve ter event na declaração e ser do tipo delegate. 
– O campo do tipo evento armazena uma referência a um delegate que representa o manipulador do evento (event
handler) que foi adicionado. Se não existir, o campo é null. 
– Event handlers são atachados usando o operador += e removidos usando ==. 
– O objeto que tem o evento (publicador) lança um evento, ou seja, uma mensagem aos objetos interessados
(assinantes).
O conteúdo foi reproduzido do MSDN.
Andrielle Azevedo de Paula 
MTAC – Microsoft Technical Audience Contributor 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
long [] linha = new long [4];
int [,] matriz = new int [2,3];
 
//Listando array com duas dimensões
public static void ArrayMultiDim() {
//Declara e inicializa um array de duas dimensões
int [,] arrayMulti = new int [,] {{1,2}, {3,4}, {5,6}, {7,8}};
//Navegando por todos os elementos usando for
Console.WriteLine(“\nListando um array de duas dimensões”);
 for (int i=0;i<arrayMulti.GetLength(0);i++) {
 for (int j=0;j<arrayMulti.GetLength(1);j++) {
 Console.Write(“{0}”, arrayMulti[i,j]);
 }
 Console.WriteLine();
 }
}

Outros materiais