DESENVOLVIMENTO DE SOFTWARE AULA 6 – Programação Orientada a Objetos

Slides:



Advertisements
Apresentações semelhantes
CLASSES EM JAVA Dilvan Moreira (baseado no livro Big Java)
Advertisements

PROGRAMAÇÃO ORIENTADA A OBJETOS EM C++ Professor: Dilvan Moreira.
EA976 – Engenharia de Software AULA 9 De Módulos a Objetos.
Universidade Federal de Campina Grande – UFCG Centro de Ciências e Tecnologias – CCT Unidade Acadêmica de Engenharia Química - UAEQ Universidade Federal.
Tecnologias para Internet Thyago Maia Tavares de Farias Aula 19.
LINGUAGEM DE PROGRAMAÇÃO. Breve histórico Ada Lovelace Luigi Menabrea Charles Babbage TradutorMemóriasMáquina analítica.
Linguagem Lógico-Funcional Curry Gabriel Cardoso Jeferson Rubert
Princípios de Desenvolvimento de Algoritmos MAC122 Prof. Dr. Paulo Miranda IME-USP Variáveis e Atribuições.
Acessos e Privilégios. Privilégios  O gerenciamento de usuários e seus respectivos privilégios aos objetos do banco de dados, dependendo do número de.
Introdução à Computação para Engenharia MAC2166
Introdução e Conceitos.
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal
Márcio Soussa Estrutura de Dados Márcio Soussa
Introdução OO.
ESTATÍSTICA AULA 07 PROBABILIDADE – Unidade 5 Conceitos básicos
ADSD Introdução.
Introdução Java.
3.1 Classes e Objetos Em um programa orientado a objetos normalmente existem vários objetos de um mesmo tipo. Por exemplo, um programa de controle de.
Aula 7 – Padrão Abstract Factory
Prof. Wellington Franco
FUNDAMENTO DE PROGRAMAÇÃO PROF. BRUNO DE CASTRO H. SILVA
PESQUISA QUANTITATIVA Survey
GRÁFICOS DE CONTROLE.
Criação e manipulação de objetos
Programação Gráfica em Java Animação
Unidade IV– Relacionamento entre Objetos
Ambiente para desenvolvimento de sistemas baseado no conceito MBUIDE
Classes e Objetos Aula 11/08/2014.
Engenharia de Software II
LÓGICA DE PROGRAMAÇÃO Prof. Andrew Rodrigues.
FUNDAMENTO DE PROGRAMAÇÃO
Banco de Dados Prof: Márcio Soussa Centro Universitário Jorge Amado.
Programação Orientada a Objetos
4 CONCEITOS BÁSICOS EM POO
Programação Orientada a Objetos
Desenvolvimento Androd Prof. Rone Ilídio
Diagramas de Sequência
Noções Básicas de Sensoriamento Remoto e Geoprocessamento
Prof. Msc. Diovani Milhorim
Programação para Internet Rica
Programação.
Feol – 4º Período Sistemas de Informação Profa. Andrea Alves
Elaborando as Interfaces Aulas 37, 38 e 39.
14/08/2012 Professor Leomir J. Borba- –
Programação Orientada a Objetos*
Pacotes Servem para organizar o código, por exemplo, agrupar classes correlatas. Vamos supor uma classe Ponto2D pertencente ao pacote formas. A classe.
3.2 Sobrecarga de Métodos (Overloading)
Rosemary Silveira Filgueiras Melo
Rosemary Silveira Filgueiras Melo
3.1.7 Variáveis de Classe e Instância
Laboratório I Mateus Raeder.
Laboratório I Mateus Raeder.
Passo a passo – Instrutor
Trabalho de Conclusão de Curso I
Programação Orientada à
Prof.: Bruno Rafael de Oliveira Rodrigues
Laboratório I Mateus Raeder.
Mestrado Profissional em Física Médica
Visual Basic TCP.
Programação Funcional
PL/SQL Triggers e Procedures
Modelo de Análise.
Paradigma de Orientação a Objetos
Modelagem de Sistemas
Programação Orientada a Objetos
Introdução às Tecnologias da Informação e Comunicação
RESULUÇÃO DOS EXERCÍCIOS E
Arquitetura e padrões de software
Formulários OSM Ariana Barra.
Programação de Computadores II
Transcrição da apresentação:

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 É a abstração de elementos concretos ou abstratos, existentes no mundo real. características Objeto comportamentos Automóvel 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. Nome Atributos Metodos Automóvel Cor AnoFabricacao NrPortas Ligar() AcenderFarol() Automóvel

Programação Orientação a Objetos Classe x Objetos Definir uma classe significa, em programação, definir um modelo com os atributos (dados) e métodos (as funções) associados a essa entidade. X 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.

Programação Orientação a Objetos Criando uma Classe em VB Public Class NomedaClasse ' definição dos membros da classe End Class Ponto Public Class Ponto Public x As Double Public y As Double End Class X : double Y : double

Membros de uma Classe Campos: São atributos (variáveis) da classe que podem ser acessados diretamente. Atributos 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 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 Atributos 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 São as ações (funções, procedimentos ou serviços) que os objetos da classe podem realizar. Métodos 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 Class End Module Conta Saldo: double Exibir()

Membros de uma Classe 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. Eventos

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 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 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 conta2.Saldo = 2000 conta2.Exibir() Console.Write("O total de contas é: ") Console.WriteLine(Conta.TotalContas) Console.ReadKey() End Sub

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 Empregado Nome Endereço Telefone Motorista Nr. Carteira Tipo Engenheiro CREA 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 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 Class  End Module Conta Saldo Exibir() ContaRemunerada TaxaRemuneracao ExibirRemuneracao() 17

Modificadores de Acesso Os modificadores de acesso definem a acessibilidade (escopo) dos objetos e dos membros de uma classe. 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.

Objeto remetente (Jogo de futebol?!) Polimorfismo Objeto receptor Objeto receptor 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 remetente (Jogo de futebol?!) (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. Sub ExibirDouble(ByVal valorDouble As Double) ' código para exibir valor do tipo Double. 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. Overloads Sub Exibir(ByVal valorDouble As Double) ' código para exibir valor do tipo Double. 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