1 / 37

POO – Programação Orientada a Objetos

POO – Programação Orientada a Objetos. Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN. Sumário. Introdução POO Objetos Classes Abstração Encapsulamento Polimorfismo Visibilidade Tipos de Dados Operadores. Introdução.

kaseem-bond
Download Presentation

POO – Programação Orientada a Objetos

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. POO – Programação Orientada a Objetos Ronny Anderson XNA Natal Academic’s ronnytds@gmail.com Tecnologia em Desenvolvimento de Software CEFET-RN

  2. Sumário • Introdução • POO • Objetos • Classes • Abstração • Encapsulamento • Polimorfismo • Visibilidade • Tipos de Dados • Operadores

  3. Introdução Esta apresentação tem como objetivo mostrar os conceitos da orientação a objetos voltados para uma linguagem de programação(C#) e também familiarizar a sintaxe da linguagem.

  4. POO • Se escrever um programa de computador em uma linguagem orientada a objetos, você criará em seu computador um modelo de alguma parte do mundo real. As partes das quais o modelo é construído são os objetos que aparecem no domínio do problema.

  5. Objetos • Um objeto representa algo do mundo real: concreto ou abstrato; • A percepção dos seres humanos é dada através dos objetos; • Um objeto é uma entidade que exibe algum comportamento bem definido.

  6. Objetos • Um objeto representa um item identificável, uma unidade, ou entidade, individual com uma regra bem definida. • Exemplos: • Livro • Carro • Conta Bancária • Reunião • Computador

  7. Objetos • Objetos parecidos têm a mesma classificação: • Carro A, cor Verde, Duas Portas. • Carro B, cor Amerelo, Quatro Portas. • Os dois são carros. • O conhecimento a determinado objeto é dado a partir de sua classificação.

  8. Objetos • Concretos: • Camisa, Bola, Controle Remoto • Abstratos: • Música, Filme, Transação Bancária • Modelo de Objetos: • OBJETO = DADOS + OPERAÇÕES

  9. Objetos • Os objetos possuem 3 propriedades: • Estado: Suas características(dados/atributos) • Comportamento: Suas operações(métodos) sobre seus dados • Identidade: Seu valor de referência • Os valores dos dados são modificados a partir das operações sobre esses dados

  10. Classes • Classes são especificações para objetos; • Uma classe serve de modelo para vários objetos semelhantes que possuem os mesmos tipos de informação em seu estado e tem os mesmos comportamentos;

  11. Classes • Uma Classe é uma fabrica de objetos idênticos no que diz respeito a sua interface e sua implementação.

  12. Abstração • Quando queremos diminuir a complexidade de alguma coisa, selecionamos parte do que estamos querendo; • Não se analisa o “todo”, em POO é importante analisar as partes para entender o todo.

  13. Abstração • Exemplo: • Um coelho para sua dona tem os atributos cor e aparência e sob o ponto de vista de um veterinário tem atributos tais como peso e tamanho.

  14. Encapsulamento • Encapsulamento é o processo de esconder todos os detalhes de um objeto que não contribuem para as suas características essenciais; • Um objeto em um programa “encapsula” todo o estado e o comportamento;

  15. Encapsulamento • Exemplo:

  16. Herança • É o mecanismo para expressar a similaridade entre Classes, simplificando a definição de classes iguais que já foram definidas.

  17. Polimorfismo • Polimorfismo: • Poli -> Várias • Morfos -> Formas • O conceito de polimorfismo está associado a herança. • O polimorfismo trabalha com a redeclaração de métodos previamente herdados por uma classe.

  18. Polimorfismo • Sobrecarga: • A sobrecarga pode mudar tanto a quantidade quanto os tipos dos argumentos; mas não pode mudar o tipo do valor de retorno de um método. • public static void setTamanhoRetangulo(int lado){ this.altura = (double) lado; this.largura = lado; } • public static void setTamanhoRetangulo(double alt, int larg){ this.altura = alt; this.largura = larg; }

  19. Polimorfismo • Sobrescrita: • Pode-se definir métodos com o mesmo nome, recebendo os mesmos argumentos, porem a sua implementação é realizada de forma diferente. Chamamos isso de sobrescrita. • OBS.: Isso acontece para classes diferentes. • public static int soma(int a){ return a+a; } • public static int soma(int b){ return b+b+b; }

  20. Visibilidade • - Private; • + Public; • # Protected; • ~ Default ou Friendly;(não existe em C#) • Internal(C#) • Protected Internal(C#)

  21. Visibilidade • Public: • O nível de acesso é irrestrito

  22. Visibilidade • Private: • O nível de acesso se restringe apenas a classe. • Não é passado por herança.

  23. Visibilidade • Protected • É visível a toda a classe • É visível as classes do mesmo namespace • É passado por herança(mesmo em namespaces diferentes)

  24. Visibilidade • Internal: • É o nível de acesso que não tem restrição dentro do mesmo assembly. O modificador internal é utilizado com classes internas ao sistema, como helpers a classe, que são auxiliares do sistema e não devem ou não precisam ser expostas.

  25. Visibilidade • Protected Internal: • É uma combinação de dois modificadores: Protected e Internal. • Tem nível de acesso semelhante ao internal, com extensão aos tipos derivados, incluídos até mesmo em outro assembly tendo acesso ao membro ou ao tipo.

  26. Visibilidade • OBS: • Se um tipo não for precedido de seu modificador de acesso ele será considerado internal. • Se um membro não for precedido de seu modificador de acesso ele será considerado private.

  27. Tipos de Dados • Toda linguagem de programação oferece um grupo básico de tipo de dados, conhecidos como tipos primitivos ou fundamentais.

  28. Tipos de Dados

  29. Tipos de Dados • Tipos Valor: São alocados na pilha(Stack). • São usados para tipos primitivos. • Tipos Referência: São alocados na Heap(Managed Heap). • São usados quando há necessidade de manipular um objeto. • Tipo Ponteiro: Podem ser utilizados em código inseguro(unsafe code).

  30. Tipos de Dados • Conversões Implícitas: • Ocorrem em atribuições de variáveis ou passagem de parâmetros a métodos • Acontece automaticamente(do menor para o maior). • Conversões Explícitas(Cast): • Ocorre quando uma variável pode ser mais de um tipo. • Não ocorre automaticamente. • Necessário colocar o tipo para o qual vai ser convertido entre parênteses.

  31. Tipos de Dados • Struct X Class • Struct(Estrutura): • É tratada como tipo valor. • Suporta construtores, constantes, campos, métodos, propriedades, indexadores, operadores e tipos aninhados. • Não suporta referências(membros, construtores parametrizados). • É um agrupamento de tipos primitivos e/ou compostos.

  32. Tipos de Dados • Struct(Exemplo): struct Tamanho { int altura; int largura; }

  33. Tipos de Dados • Class(Classe): • É tratada como tipo referência. • Suporta construtores, constantes, campos, métodos, propriedades, indexadores, operadores e tipos aninhados. • Suporta referências. • É uma classificação de objetos.

  34. Operadores • Assim com os tipos de dados, C# oferece um grupo de operadores que nos permitem realizar as mais diversas operações.

  35. Operadores

  36. Operadores • É interessante ressaltar que existe uma precedência entre os operadores.

  37. www.xna.com www.nudes.cefetrn.br/xna xna-natal-academics@googlegroups.com

More Related