A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Sobrecarga e Encapsulamento

Apresentações semelhantes


Apresentação em tema: "Sobrecarga e Encapsulamento"— Transcrição da apresentação:

1 Sobrecarga e Encapsulamento
Paradigmas de Programação Marco Antonio Montebello Júnior

2 Paradigmas de Programação
Encapsulamento Prática de esconder como um objetos executa suas operações, quando solicitado por um cliente. Traz muitos benefícios, pois o cliente não precisa saber como o objeto funciona internamente. Isso realmente não é relevante para ele. Paradigmas de Programação

3 Paradigmas de Programação
Encapsulamento É o agrupamento dos dados e funções relacionados a uma classe. Permite determinar a forma como os membros da classe serão expostos. Possibilita baixo acoplamento, tornando as classes independentes. Em C#, pode-se utilizar propriedades para acessar os atributos de uma classe, garantindo a integridade. Paradigmas de Programação

4 Encapsulamento Modificadores de acesso de Classe
Os modificadores de acesso que podem ser utilizados na construção das classes são Modificador Significado none ou internal A classe é acessível apenas dentro do projeto atual. public A classe é acessível de qualquer lugar abstract ou internal abstract A classe é acessível apenas dentro do projeto atual, não podendo ser instanciada, apenas derivada public abstract A classe é acessível de qualquer lugar, não podendo ser instanciada, apenas derivada (herdada) sealed ou internal sealed A classe é acessível apenas do projeto atual, não podendo ser derivada, apenas instanciada public sealed A classe é acessível de qualquer local, não podendo ser derivada, apenas instanciada Paradigmas de Programação

5 Encapsulamento Modificadores de acesso de Atributos
Normalmente é utilizado internamente na classe (A exposição das características da classe é tarefa das propriedades ou do métodos) Modificador Significado public Atributo acessível a partir de qualquer código private Atributo acessível apenas para o código que faz parte da classe (o padrão se nenhuma palavra-chave for usada) Internal Atributo acessível apenas para o código dentro do projeto em que ele é definido protected Atributo acessível apenas para o código que faz parte da classe, ou uma classe derivada (filhos) Paradigmas de Programação

6 Encapsulamento Modificadores de acesso de Métodos
Os modificadores dos métodos são: private public protected Modificador Significado virtual O métodos pode ser sobrescrito abstract O método deve ser sobrescrito (permitido apenas em classes abstratas) override O método se sobrepõe a um método da classe-pai / classe base (deve ser usado se um método estiver sendo sobrescrito) extern A definição do método se encontra em outro lugar Paradigmas de Programação

7 Encapsulamento Exemplo
Ao pressionar o pedal de um carro (objeto), nós (clientes) não precisamos saber que ele irá aumentar a quantidade de combustível e ar enviada ao motor, que irá gerar uma maior combustão, movendo os pistões com mais força e rapidez, com isso aumentando a velocidade do carro. Para o cliente basta saber que, ao pressionar o pedal do acelerador, o carro irá adquirir velocidade. Paradigmas de Programação

8 Paradigmas de Programação
Sobrecarga de métodos Sobrecarregar um método traz a possibilidade de termos diferentes versões do mesmo método ou propriedade que, mesmo possuindo o mesmo nome, aceitam um número diferente de parâmetros ou parâmetros de tipos diferentes O compilador diferencia o método que deve ser executado pelo número, tipo ou/e ordem dos parâmetros. Sobrecarga de construtores Paradigmas de Programação

9 Sobrecarga de métodos (overload)
A sobrecarga permite que você crie métodos com o mesmo nome, mas com assinaturas diferentes. Assinatura é a lista de parâmetros que o métodos recebe. A palavra “sobrecarga” pode trazer uma idéia de estresse ou excesso de trabalho, mas em OO é um elemento que nos ajuda muito. Paradigmas de Programação

10 Sobrecarga de métodos (overload)
Um exemplo de sobrecaraga é o método Show do MessageBox. Podemos observar que existem 21 alternativas diferentes para o método. O que diferencia um do outro é a combinação do número de parâmetros, seus nomes e tipos. Paradigmas de Programação

11 Sobrecarga Construtores
public Pessoa() : this(String.Empty) { } public Pessoa(string Nome) nome = Nome; Paradigmas de Programação

12 Paradigmas de Programação
Sobrecarga Métodos //Métodos... public Imprime() { //Código do método... } public Imprime(string Nome, int Idade) Paradigmas de Programação

13 Sobrecarga Construtores
Temos 2 (dois) construtores: Um recebe o parâmetro para o nome da pessoa, inicializando assim o nome da mesma. Outro que não recebe nenhum parâmetro, mas utiliza o outro construtor para iniciar a variável nome como String.Empty(representa uma string vazia “”) Essa é uma técnica comum que visa a correta inicialização da classe reutilizando código. Paradigmas de Programação

14 Sobrecarga por sobreposição
É o mecanismo que um SubClasse (classe filha) possui de literalmente “passar por cima” de métodos ou propriedades definidos em sua SuperClasse / ClasseBase (classe pai) Para que a SubClasse consiga sobrepor o elemento, a SuperClasse precisa declará-lo com a keyword virtual (C#) Paradigmas de Programação

15 Sobrecarga por sobreposição
Mantendo a mesma identificação e assinatura do método Imprimir Um classe adicionando a keyword override (C#) descarta (ignora) a definição do método Imprimir da SuperClasse / ClasseBase e cria a sua própria. Paradigmas de Programação

16 Sobrecarga por sobreposição Exemplo
//Métodos – SuperClasse (Pai)... public virtual string Imprime() { //Código do método... } //Métodos – SubClasse (Filha)... public override string Imprime() Paradigmas de Programação


Carregar ppt "Sobrecarga e Encapsulamento"

Apresentações semelhantes


Anúncios Google