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

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

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

Apresentações semelhantes


Apresentação em tema: "Sobrecarga e Encapsulamento Marco Antonio Montebello Júnior Paradigmas de Programação."— Transcrição da apresentação:

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

2 2 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.

3 Paradigmas de Programação 3 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.

4 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 ModificadorSignificado none ou internalA classe é acessível apenas dentro do projeto atual. publicA classe é acessível de qualquer lugar abstract ou internal abstractA classe é acessível apenas dentro do projeto atual, não podendo ser instanciada, apenas derivada public abstractA classe é acessível de qualquer lugar, não podendo ser instanciada, apenas derivada (herdada) sealed ou internal sealedA classe é acessível apenas do projeto atual, não podendo ser derivada, apenas instanciada public sealedA classe é acessível de qualquer local, não podendo ser derivada, apenas instanciada

5 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) ModificadorSignificado publicAtributo acessível a partir de qualquer código privateAtributo acessível apenas para o código que faz parte da classe (o padrão se nenhuma palavra-chave for usada) InternalAtributo acessível apenas para o código dentro do projeto em que ele é definido protectedAtributo acessível apenas para o código que faz parte da classe, ou uma classe derivada (filhos)

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

7 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.

8 Paradigmas de Programação 8 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

9 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.

10 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.

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

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

13 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.

14 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#)

15 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.

16 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() { //Código do método... }


Carregar ppt "Sobrecarga e Encapsulamento Marco Antonio Montebello Júnior Paradigmas de Programação."

Apresentações semelhantes


Anúncios Google