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

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

Herança em POO É um mecanismo existente no paradigma Orientado a Objectos que permite a reutilização dos membros (atributos, propriedades, métodos) de.

Apresentações semelhantes


Apresentação em tema: "Herança em POO É um mecanismo existente no paradigma Orientado a Objectos que permite a reutilização dos membros (atributos, propriedades, métodos) de."— Transcrição da apresentação:

1 Herança em POO É um mecanismo existente no paradigma Orientado a Objectos que permite a reutilização dos membros (atributos, propriedades, métodos) de uma classe (superclasse) ao definir-se novas classes (subclasses) a partir dela. Importante: Os construtores não são herdados!!!! Uma subclasse deriva apenas de uma superclasse Só os membros públicos ou friend da superclasse podem ser herdados pelas classes derivadas

2 Exemplos Herança em POO

3 Herança no VB Sintaxe Classe Base Classes Derivadas Palavra-Chave: Inherits

4 Exemplo

5 Não-exemplo

6 Pilares da POO Abstracção Herança e Polimorfismo Encapsulamento

7 Exemplo – Cont. Classe Base (características comuns) Classe Derivada (características específicas) Possui os atributos e os métodos da classe base Superclasse Subclasse Hierarquia

8 Palavra-Chave: Inherits Herança no VB Sintaxe – Cont.

9 Pessoa => Classe base Pessoa estudanteprofessor

10 Classes derivadas EstudanteProfessor

11 Polimorfismo Ambos possuem uma mesma função que é gravar mas esta função é realizada de forma diferente

12 Polimorfismo veículo Todos os veículos possuem um modo de acelerar usa um motorusa pedais e corrente Mas com implementação e comportamento diferente em cada um dos objectos acelerar Invocam o método

13 O polimorfismo é uma característica importante da programação orientada a objectos e está directamente ligada à herança entre classes. redefinido“O polimorfismo ocorre quando um método que já foi definido na classe base é redefinido na classe derivada com um comportamento diferente.” A ideia do polimorfismo é que embora a mensagem seja a mesma, os objectos poderão ter comportamentos diferentes (muitas formas). Polimorfismo “Pilar da POO”

14 Polimorfismo é o princípio pelo qual duas ou mais classes derivadas de uma mesma superclasse podem invocar métodos que têm a mesma identificação (assinatura) mas comportamentos distintos, especializados para cada classe derivada. É necessário que os métodos tenham exactamente a mesma identificação veículo Acelerar() forma getArea()

15 Actividade

16

17 Classe Base Classes Derivadas

18 Actividade Na classe derivada: Na classe base: Public overloads Function getArea() As Double Public Function obterArea() As Double objecto.getArea()

19 Actividade Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim r As New Retangulo(txt_altura.Text, txt_base.Text) MsgBox("Área do retângulo de base=" & txt_base.Text & " e altura=" & txt_altura.Text & " : " & r.getArea()) End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim r As New Triangulo(txt_base.Text, txt_altura.Text) MsgBox("Área do triângulo de base=" & txt_base.Text & "e altura=" & txt_altura.Text & " : " & r.getArea()) End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Dim r As New Quadrado(txt_lado.Text) MsgBox("Área do quadrado de lado " & txt_lado.Text & ": " & r.getArea()) End Sub Private Sub SairToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SairToolStripMenuItem.Click Me.Close() End Sub End Class

20 Vantagens do Polimorfismo Uma mesma mensagem pode provocar respostas diferentes quando recebidas por objectos diferentes. Vantagem Com o polimorfismo, pode-se enviar uma mensagem genérica e deixar a implementação a cargo do objecto receptor da mensagem.

21 Mensagens em POO Elementos básicos:  Classes atributos + métodos não executáveis  Objectos variáveis (dinâmicas) criadas a partir das classes estado + comportamento podem ser criados, copiados, destruídos, passados como argumentos, devolvidos como resultado...  Mensagens actuam sobre objectos invocação os membros (métodos/propriedades) descritos na classe

22 Deco 29 central Deco.Lista() Deco.Passa() Deco.Recebe() Deco.Finta() Deco.Marca() Figo 34 médio Figo.Lista() Deco.Recebe() Figo.Passa() Mensagens em POO Uma mensagem é dirigida a um objecto e –provoca a execução de um membro que utiliza e/ou altera os valores dos seus atributos - o seu estado. –pode provocar o envio de novas mensagens por parte deste, quer para ele próprio (internas), quer para outros objectos (externas). Jogador:Figo nome: “Figo” idade: 34 função: “médio” Jogador:Deco nome: “Deco” idade: 29 função: “central”

23 Jogador1.Ganhou() Jogador1.estado() Altera o estado (atributo jogadas) Jogo1. jogar() Mensagens em POO Uma mensagem é dirigida a um objecto e –provoca a execução de um método que utiliza e/ou altera os valores dos seus atributos - o seu estado. –pode provocar o envio de novas mensagens por parte deste, quer para ele próprio (internas), quer para outros objectos (externas). JogoGalo:Jogo1 jogadas(2,2) nJogadas JogodorxPC:Jogo2 jogadas(2,2) nJogadas Jogo2.JogadaComputador() Jogo2. JogarAtaque()

24 Comunicação em POO Atributos Finta Marca Lista Passa Recebe Nome Idade Função Métodos (encapsulados) (Interface) Classe Jogador Pos_x Pos_y Tem bola Finta Marca Lista Passa Recebe Desloca + Métodos

25 Comunicação em POO Elementos A comunicação entre os objectos dá-se através de mensagens trocadas pela interface (ou protocolo) especificada para o objecto. Análogo a uma chamada de função Mensagem: permitem a activação de um método/propriedade do objecto Interface: conjunto de métodos e atributos definidos na classe e oferecidos pelo objecto

26 Comunicação em POO Elementos Todos os objectos de uma mesma classe possuem a mesma interface e aplicam o mesmo método em resposta a uma mensagem idêntica. O valor retornado pode, no entanto, variar em função dos valores dos seus atributos e da existência de polimorfismo nas classes. Mensagem: permitem a activação de um método/propriedade do objecto Interface: conjunto de métodos e atributos definidos na classe e oferecidos pelo objecto

27 Recordar… seleccionar aspectos importantes para o problema (abstrair entidades, acções, relacionamento, etc, ) capturar a estrutura da realidade Agrupamento de elementos reais que possuem um conjunto atributos e comportamentos comuns Abstracção Classificação Problema representação VB

28 Recordar… Veículo Carro geral especifico Classe Base Classes Derivadas Herança Polimorfismo Comunicação Bicicleta


Carregar ppt "Herança em POO É um mecanismo existente no paradigma Orientado a Objectos que permite a reutilização dos membros (atributos, propriedades, métodos) de."

Apresentações semelhantes


Anúncios Google