Buscar

DS_Aula_06

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

AULA 1 - Profa. ADRIANA SICSÚ, DSc.
*
DESENVOLVIMENTO DE SOFTWARE 
AULA 6 – Programação Orientada a Objetos
Profa: ADRIANA SICSÚ, DSc.
adriana.aparicio@globo.com
*
*
OBJETIVOS DA AULA
Conceitos da Programação Orientada a Objetos
Objeto
Classe
Instância de uma classe
Membros de uma classe ( Campos, Propriedades, 	Métodos, Eventos)
Membros Compartilhados
Encapsulamento
Herança
Modificadores de Acesso
Polimorfismo
Métodos Construtores
*
*
*
Programação Orientação a Objetos
Objeto
 É a abstração de elementos concretos ou abstratos, existentes no mundo real.
*
Objeto
características
comportamentos
Características:
 Vermelho
 2 portas
 1977
Comportamento:
 Ligar()
 Acender o Farol()
*
*
Programação Orientação a Objetos
Classe
		Uma classe descreve as características comuns de um conjunto de objetos semelhantes.
*
*
*
Programação Orientação a Objetos
*
 
 Um objeto constitui uma entidade concreta com tempo e espaço de existência, ou seja, um objeto é a representação de uma entidade real de uma determinada classe.
 
 Definir uma classe significa, em programação, definir um modelo com os atributos (dados) e métodos (as funções) associados a essa entidade. 
Classe x Objetos
		
X
		
*
*
Programação Orientação a Objetos
Criando uma Classe em VB
Public Class NomedaClasse
 ' definição dos membros da classe
End Class
 
Ponto
X : double
Y : double
Public Class Ponto
 Public x As Double
 Public y As Double
End Class
 
*
*
Membros de uma Classe
*
Atributos
Campos: São atributos (variáveis) da classe que podem ser acessados diretamente.
Propriedades: São atributos (variáveis) da classe que definem as propriedades dos objetos da classe e podem ser acessados somente através dos métodos de acesso, chamados Set (para atribuir um valor à propriedade) e Get (para obter o valor da propriedade). 
Propriedades:
	Garante-se a integridade das propriedades, restringindo-se o acesso a estas somente pelos respectivos métodos Set e Get, evitando-se que elas sejam acessadas por outros métodos cujos comportamentos não são garantidos.
*
*
Membros de uma Classe
*
Atributos
Propriedades: O VB 2010 tem suporte ao Auto-Implemented Properties que cria automaticamente os métodos Get e Set da propriedade quando se usa a sintaxe a seguir:
 Property NomedaPropriedade As Tipo
Exemplo: 
Public Class Conta
 Public Property saldo As Decimal
End Class
 
*
*
Membros de uma Classe 
Campos
*
Propriedades
Module Module1
 
 Sub Main()
 Dim ponto1 As Ponto
 ponto1 = New Ponto()
 ponto1.x = 1.0
 ponto1.y = 2.0
 Console.Write("A coordenada x do ponto1 é: ")
 Console.WriteLine(ponto1.x)
 Console.Write("A coordenada y do ponto1 é: ")
 Console.WriteLine(ponto1.y)
 Console.ReadKey()
 End Sub
 
 Public Class Ponto
 ' definição dos membros da classe
 Public x As Double
 Public y As Double
 End Class
 
End Module
Module Module1
 
 Sub Main()
 Dim conta1 As Conta
 conta1 = New Conta()
 conta1.Saldo = 1000.5
 Console.Write("O saldo da sua conta é: ")
 Console.WriteLine(conta1.Saldo)
 Console.ReadKey()
 End Sub
 
 Public Class Conta
 Public Property Saldo As Decimal
 End Class
 
End Module
*
*
Membros de uma Classe 
*
Métodos
São as ações (funções, procedimentos ou serviços) que os objetos da classe podem realizar.
Conta
Saldo: double
Exibir()
Module Module1
  Sub Main()
 Dim conta1 As Conta
 conta1 = New Conta
 conta1.Saldo = 1000.5
 conta1.Exibir()
 End Sub
 
 Public Class Conta
 Public Property Saldo As Decimal
 Public Sub Exibir()
 Console.Write("O saldo da sua conta é: ")
 Console.WriteLine(Saldo)
 Console.ReadKey()
 End Sub
 
 End Class
 
End Module
*
*
Membros de uma Classe 
*
Eventos
São notificações que um objeto pode receber ou transmitir.
Eventos permitem que objetos realizem ações, chamadas de função de tratamento do evento, sempre que uma ocorrência específica ocorrer.
As funções de tratamento de evento são associadas a eventos de um objeto.
*
*
Membros Compartilhados
São membros que pertencem à classe e são compartilhados por todos os objetos da classe. 
Os membros compartilhados são acessados referenciando-se o nome da classe.
Os membros compartilhados são conhecidos também como membros estáticos.
*
Definindo Membros Compartilhados: 
 Shared NomedoMembro As Tipo
*
*
Membros Compartilhados
Module Module1
 
 Sub Main()
 Dim conta1 As Conta
 conta1 = New Conta
 Conta.TotalContas = Conta.TotalContas + 1
 conta1.Saldo = 1000
 conta1.Exibir()
 Dim conta2 As Conta
 conta2 = New Conta
 Conta.TotalContas = Conta.TotalContas + 1
 conta2.Saldo = 2000
 conta2.Exibir()
 
 Console.Write("O total de contas é: ")
 Console.WriteLine(Conta.TotalContas)
 Console.ReadKey()
 
 End Sub
 Public Class Conta
 Public Property Saldo As Decimal
 Public Shared TotalContas As Integer = 0
 Public Sub Exibir()
 Console.Write("O saldo da sua conta é: ")
 Console.WriteLine(Saldo)
 End Sub
 End Class
End Module
*
*
Encapsulamento
A abordagem da programação orientada a objetos oferece o conceito de encapsulamento que agrupa de delimita na classe a declaração de todas as variáveis (campos ou propriedades) e métodos (funções). Desta forma, ao encontrar-se o código de definição da classe, conseguimos em um trecho do código encontrar todos os seus membros, isto é, todas as variáveis (campos ou propriedades) e os métodos (funções) da classe.
*
*
*
Encapsulamento
O encapsulamento permite que o acesso a certos membros (campos, propriedades ou métodos) da classe sejam acessados somente através de certos métodos da classe. Isto permite criar uma interface para ocultar e proteger os membros da classe que são acessíveis somente através dos métodos da interface da classe.
*
Exemplo: 
 É importante que a propriedade saldo de uma classe ContaCorrente seja acessível apenas através dos respectivos métodos set e get da classe, ao invés de ser acessível por qualquer função da aplicação. 
*
*
Herança
A herança permite o reaproveitamento do código entre classes utilizando-se o conceito de generalização e especialização. 
Superclasse - define os membros genéricos e comuns
Subclasses - herdam os membros da superclasse e definem apenas as diferenças em relação a superclasse
*
Para criar uma nova subclasse, procura-se uma superclasse adequada e se codifica apenas as especializações (diferenças) na subclasse.
Esta abordagem permite aumentar a produtividade no desenvolvimento de códigos e melhorar a compreensão e o controle sobre estes, porque os agrupa em uma estrutura hierárquica.
*
*
Herança
*
*
 Conta
Saldo
Exibir()
ContaRemunerada
TaxaRemuneracao
ExibirRemuneracao()
Module Module1
  Sub Main()
 Dim conta1 As Conta
 conta1 = New Conta
 conta1.Saldo = 1000
 
 Dim conta2 As ContaRemunerada
 conta2 = New ContaRemunerada()
 conta2.Saldo = 2000
 conta2.TaxaRemuneracao = 1.0
 conta2.Exibir()
 conta2.ExibirRemuneracao()
  Console.ReadKey()
  End Sub
 
 Public Class Conta
 Public Property Saldo As Decimal
 Public Sub Exibir()
 Console.Write("O saldo da sua conta é: ")
 Console.WriteLine(Saldo)
 End Sub
 End Class
 
 Public
Class ContaRemunerada 
 Inherits Conta
 Public Property TaxaRemuneracao As Decimal
 Public Sub ExibirRemuneracao()
 Console.Write("A taxa de remuneração da sua conta é: ")
 Console.WriteLine(TaxaRemuneracao)
 End Sub
  End Class
 End Module
*
*
Modificadores de Acesso
*
Public : Define um objeto ou membro acessível em qualquer ponto da aplicação.
 
Protected: Define um objeto ou membro acessível em qualquer ponto da classe ou das subclasses e pelos métodos da classe e das subclasses.
  
Private : Define um objeto ou membro acessível somente na classe e pelos métodos da classe.
 
Shared : Define um membro da classe compartilhado por todos os objetos da classe.
Os modificadores de acesso definem a acessibilidade (escopo) dos objetos e dos membros de uma classe.
*
*
Polimorfismo
 
 A orientação a objetos permite que o mesmo item (classe ou membros de uma classe) seja redefinido com o mesmo nome, ou seja, diferentes itens podem ter o mesmo nome através do polimorfismo. Isto evita a proliferação de nomes diferentes de itens que são semanticamente iguais.
*
Objeto receptor
Objeto remetente (Jogo de futebol?!)
Objeto receptor
(Eduardo Bezerra -Princípios de Análise e Projeto de Sistemas com UML - 2ª edição)
 
*
*
Polimorfismo - Exemplo 
Sub ExibirChar(ByVal valorChar As Char)
 ' código para exibir valor do tipo Char.
End Sub
Sub ExibirInt(ByVal valorInteger As Integer)
 ' código para exibir valor do tipo Integer.
End Sub
Sub ExibirDouble(ByVal valorDouble As Double)
 ' código para exibir valor do tipo Double.
End Sub
*
Não usam Polimorfismo
*
*
Polimorfismo - Exemplo 
Overloads Sub Exibir(ByVal valorChar As Char)
 ' código para exibir valor do tipo Char.
End Sub
Overloads Sub Exibir(ByVal valorInteger As Integer)
 ' código para exibir valor do tipo Integer.
End Sub
Overloads Sub Exibir(ByVal valorDouble As Double)
 ' código para exibir valor do tipo Double.
End Sub
*
Usando Polimorfismo
Foi utilizado o operador Overloads de sobrecarga para suportar o polimorfismo.
*
*
Polimorfismo - Exemplo 
As chamadas às três funções passam a ser feitas pelo mesmo nome como nos exemplos a seguir:
 
' Chamar Exibir passando um literal do tipo Char. 
 Exibir("9"c)
' Chamar Exibir passando um literal do tipo Integer. 
 Exibir (9)
' Chamar Exibir passando um literal do tipo Double. 
 Exibir (9.9R)
 A distinção do método a ser chamado é feita através da lista de parâmetros (quantidade de parâmetros e tipos de parâmetros).
*
*
*
Métodos Construtores
Os métodos construtores possuem o mesmo nome da Classe e são definidos para inicializar os objetos da classe.
*
*
*
Saiba Mais ....
Introdução a Objetos no Visual Basic. 
		http://msdn.microsoft.com/pt-br/library/zztsbwsx.aspx
*
*
*
Próxima Aula
Sistemas de Banco de Dados
*
*

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais