Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Asp.Net Módulo3

692 views

Published on

Published in: Technology, Education
  • Be the first to comment

Asp.Net Módulo3

  1. 1. ASP.NET Módulo 3
  2. 2. Objetivo <ul><li>Mostrar ao aluno os conceitos básicos sobre programação orientada a objetos no C#, suas características e sintax. </li></ul>
  3. 3. Agenda <ul><li>Classe </li></ul><ul><li>Membros de uma classe </li></ul><ul><li>Modificadores de acesso </li></ul>
  4. 4. Classe <ul><li>Na Orientação a Objetos (OO), uma classe é um modelo, uma abstração, um conceito; </li></ul><ul><li>Uma classe é composta por atributos, propriedades e métodos; </li></ul><ul><li>Uma classe para ser utilizada, deve ser instanciada; </li></ul><ul><li>Pode ser herdada para que se torne mais específica; </li></ul><ul><li>Faz com que o reuso de código seja mais natural e intuitivo; </li></ul><ul><li>Classes abstratas são classes conceituais(incompletas), e, portanto, não podem ser instanciadas. São utilizadas para prover funcionalidades ancestrais comuns. </li></ul>
  5. 5. Classe <ul><li>Sobrecarga </li></ul><ul><ul><li>Permite que um método possua o mesmo nome, porém, com assinaturas diferentes; </li></ul></ul><ul><ul><li>Útil em situações onde um mesmo método pode fazer operações diferentes a partir dos tipos de dados </li></ul></ul><ul><ul><li>Útil para quando se utiliza mais de um Construtor com parâmetros diferentes </li></ul></ul><ul><li>Herança </li></ul><ul><ul><li>Permite que uma Classe herde atributos, propriedades e métodos de uma classe ancestral; </li></ul></ul><ul><ul><li>Permite criar uma Classe base com os atributos, propriedades e métodos que serão comuns a todas as subclasses; </li></ul></ul><ul><li>Sobrescrita </li></ul><ul><ul><li>Permite que uma Classe redefina o funcionamento de um método </li></ul></ul><ul><ul><li>Requer que o método que permita sobrescrita seja declarado como virtual ; </li></ul></ul><ul><ul><li>Os métodos na classes derivadas devem ser declaradas como new ou override </li></ul></ul>
  6. 6. Membros de Uma Classe <ul><li>Atributo </li></ul><ul><ul><li>Dados pertencentes a uma Classe </li></ul></ul><ul><ul><li>Não devem ser acessados diretamente </li></ul></ul>
  7. 7. Membros de Uma Classe <ul><li>Propriedade </li></ul><ul><ul><li>Uma forma segura de se acessar um atributo; </li></ul></ul><ul><ul><li>Possibilita que validações ocorram antes da mudança de um valor; </li></ul></ul><ul><ul><li>Permite isolar o nome da Propriedade do atributo que contém o dado da mesma </li></ul></ul>
  8. 8. Membros de Uma Classe <ul><li>Método </li></ul><ul><ul><li>Funcionalidade disponibilizada por uma Classe; </li></ul></ul><ul><ul><li>Pode ou não retornar um valor; </li></ul></ul><ul><ul><li>Pode ou não ter um conjunto de dados de entrada; </li></ul></ul><ul><ul><li>Pode ou não utilizar um atributo da Classe na qual está localizado; </li></ul></ul><ul><ul><li>Pode ser especializado através de herança e sobrecarga. </li></ul></ul>
  9. 9. Membros de Uma Classe <ul><li>Construtor </li></ul><ul><ul><li>Método que define como a classe será inicializada; </li></ul></ul><ul><ul><li>Possui como assinatura </li></ul></ul><ul><ul><ul><li><public, etc> Nomedaclasse (parametros) </li></ul></ul></ul><ul><ul><ul><li>{ </li></ul></ul></ul><ul><ul><ul><li>} </li></ul></ul></ul>
  10. 10. Membros de Uma Classe <ul><li>Destrutor </li></ul><ul><ul><li>Método que define como a classe será finalizada; </li></ul></ul><ul><ul><li>Possui como assinatura </li></ul></ul><ul><ul><ul><li>~Nomedaclasse () </li></ul></ul></ul><ul><ul><ul><li>{ </li></ul></ul></ul><ul><ul><ul><li>} </li></ul></ul></ul>
  11. 11. Modificadores de Acesso <ul><li>Um Namespace define um agrupamento lógico de classes; </li></ul><ul><li>É possível (entretanto, desrecomendado) existir mais de uma classe com o mesmo nome em Namespaces diferentes; </li></ul>
  12. 12. Modificadores de Acesso <ul><li>Definem o escopo de visibilidade de um atributo, propriedade ou método </li></ul><ul><ul><li>Public indica que o membro é acessível a todos, sem restrições; </li></ul></ul><ul><ul><li>Protected indica que o membro é acessível na mesma classe ou em classes derivadas; </li></ul></ul><ul><ul><li>Private indica que o membro é acessível apenas na mesma classe; </li></ul></ul><ul><ul><li>Internal indica que o membro é acessível apenas no mesmo assembly. </li></ul></ul>
  13. 13. Atividade de apoio <ul><li>Crie uma classe chamada CarroSimples. Esta classe deve ter: </li></ul><ul><ul><li>um atributo para armazenar a sua posição horizontal </li></ul></ul><ul><ul><li>uma propriedade para o atributo acima </li></ul></ul><ul><ul><li>um construtor de defina inicialmente esta posição como 0 </li></ul></ul><ul><ul><li>um método para modificar esta posição </li></ul></ul><ul><ul><li>um método que informe ao usuário em que posição o CarroSimples está, no formato (posicaoHorizontal) </li></ul></ul>
  14. 14. Atividade de apoio <ul><li>Crie uma classe chamada Carro. Esta classe deve herdar de CarroSimples e conter: </li></ul><ul><ul><li>um atributo para armazenar sua posição vertical; </li></ul></ul><ul><ul><li>uma propriedade para o atributo acima; </li></ul></ul><ul><ul><li>um construtor que defina inicialmente esta posição como 0; </li></ul></ul><ul><ul><li>um método para modificar esta posição; </li></ul></ul><ul><ul><li>um método para modificar a posição horizontal e a vertical; </li></ul></ul><ul><ul><li>sobrescrever o método criado em CarroSimples para informar a posição no formato (posicaoHorizontal, posicaoVertical); </li></ul></ul>

×