Aula 2 Princípios Básicos da Orientação a Objetos (Parte II) Introdução à Programação Orientada a Objetos Prof. Mayk Choji UniSALESIANO Araçatuba 12 de agosto de 2016
Sumário 1. Métodos 2. Mensagens 3. Encapsulamento 4. Herança 5. Herança Múltipla 6. Polimorfismo 7. Métodos Virtuais 8. Sobrecarga
Métodos Métodos 1/18
Métodos São procedimentos definidos e declarados que atuam sobre um objeto ou sobre uma classe de objetos. Executam ações (para manipular) sobre os dados internos (identificadores ou variáveis- membro) à classe. Podem ser acessados por outros objetos ou somente pelo próprio objeto. Métodos são invocados por Mensagens. Cada objeto possui seu próprio conjunto de métodos. Métodos 2/18
Métodos São procedimentos definidos e declarados que atuam sobre um objeto ou sobre uma classe de objetos. Executam ações (para manipular) sobre os dados internos (identificadores ou variáveis- membro) à classe. Podem ser acessados por outros objetos ou somente pelo próprio objeto. Métodos são invocados por Mensagens. Cada objeto possui seu próprio conjunto de métodos. Métodos 2/18
Métodos São procedimentos definidos e declarados que atuam sobre um objeto ou sobre uma classe de objetos. Executam ações (para manipular) sobre os dados internos (identificadores ou variáveis- membro) à classe. Podem ser acessados por outros objetos ou somente pelo próprio objeto. Métodos são invocados por Mensagens. Cada objeto possui seu próprio conjunto de métodos. Métodos 2/18
Métodos São procedimentos definidos e declarados que atuam sobre um objeto ou sobre uma classe de objetos. Executam ações (para manipular) sobre os dados internos (identificadores ou variáveis- membro) à classe. Podem ser acessados por outros objetos ou somente pelo próprio objeto. Métodos são invocados por Mensagens. Cada objeto possui seu próprio conjunto de métodos. Métodos 2/18
Métodos São procedimentos definidos e declarados que atuam sobre um objeto ou sobre uma classe de objetos. Executam ações (para manipular) sobre os dados internos (identificadores ou variáveis- membro) à classe. Podem ser acessados por outros objetos ou somente pelo próprio objeto. Métodos são invocados por Mensagens. Cada objeto possui seu próprio conjunto de métodos. Métodos 2/18
Mensagens Mensagens 3/18
Mensagens Mensagem é o ato de chamar um método. Exemplo: Um objeto A chama um método (envia uma mensagem) para um objeto B; Objeto B, portanto, executa uma operação e retorna algum resultado para A. Exemplo de chamada de método mensagem. Mensagens 4/18
Mensagens Mensagem é o ato de chamar um método. Exemplo: Um objeto A chama um método (envia uma mensagem) para um objeto B; Objeto B, portanto, executa uma operação e retorna algum resultado para A. Exemplo de chamada de método mensagem. Mensagens 4/18
Mensagens Mensagem é o ato de chamar um método. Exemplo: Um objeto A chama um método (envia uma mensagem) para um objeto B; Objeto B, portanto, executa uma operação e retorna algum resultado para A. Exemplo de chamada de método mensagem. Mensagens 4/18
Mensagens Mensagem é o ato de chamar um método. Exemplo: Um objeto A chama um método (envia uma mensagem) para um objeto B; Objeto B, portanto, executa uma operação e retorna algum resultado para A. Exemplo de chamada de método mensagem. Mensagens 4/18
Encapsulamento Encapsulamento 5/18
Encapsulamento Permite que certas características ou propriedades dos objetos de uma classe não possam ser vistas ou modificadas externamente, ou seja, ocultam-se as características internas do objeto: Outras classes só podem acessar os atributos de uma classe invocando os métodos públicos; Restringe a visibilidade do objeto, mas facilita o reuso. Encapsulamento 6/18
Encapsulamento Permite que certas características ou propriedades dos objetos de uma classe não possam ser vistas ou modificadas externamente, ou seja, ocultam-se as características internas do objeto: Outras classes só podem acessar os atributos de uma classe invocando os métodos públicos; Restringe a visibilidade do objeto, mas facilita o reuso. Encapsulamento 6/18
Encapsulamento Permite que certas características ou propriedades dos objetos de uma classe não possam ser vistas ou modificadas externamente, ou seja, ocultam-se as características internas do objeto: Outras classes só podem acessar os atributos de uma classe invocando os métodos públicos; Restringe a visibilidade do objeto, mas facilita o reuso. Encapsulamento 6/18
Herança Herança 7/18
Herança Mecanismo que permite que características comuns a diversas classes sejam colocadas em uma classe base, ou superclasse. As propriedades da superclasse não precisam ser repetidas em cada subclasse. Por exemplo, JanelaRolante e JanelaFixa são subclasses de Janela. Elas herdam as propriedades de Janela, como uma região visível na tela. JanelaRolante acrescenta uma barra de paginação e um afastamento. Herança 8/18
Herança Mecanismo que permite que características comuns a diversas classes sejam colocadas em uma classe base, ou superclasse. As propriedades da superclasse não precisam ser repetidas em cada subclasse. Por exemplo, JanelaRolante e JanelaFixa são subclasses de Janela. Elas herdam as propriedades de Janela, como uma região visível na tela. JanelaRolante acrescenta uma barra de paginação e um afastamento. Herança 8/18
Herança Mecanismo que permite que características comuns a diversas classes sejam colocadas em uma classe base, ou superclasse. As propriedades da superclasse não precisam ser repetidas em cada subclasse. Por exemplo, JanelaRolante e JanelaFixa são subclasses de Janela. Elas herdam as propriedades de Janela, como uma região visível na tela. JanelaRolante acrescenta uma barra de paginação e um afastamento. Herança 8/18
Herança Exemplo de herança de classes. Herança 9/18
Herança Múltipla Herança Múltipla 10/18
Herança Múltipla Existe mais de uma superclasse, ou seja, uma classe é declarada como uma subclasse de uma ou mais superclasses. Exemplo de herança múltipla de classes. Herança Múltipla 11/18
Polimorfismo Polimorfismo 12/18
Polimorfismo O Polimorfismo geralmente representa a qualidade ou estado de um objeto ser capaz de assumir diferentes formas. Pode se classificar em dois tipos Conversão de objetos filhos em pais; Chamadas de métodos (também conhecido como métodos virtuais ou polimorfismo de método). Polimorfismo 13/18
Polimorfismo O Polimorfismo geralmente representa a qualidade ou estado de um objeto ser capaz de assumir diferentes formas. Pode se classificar em dois tipos Conversão de objetos filhos em pais; Chamadas de métodos (também conhecido como métodos virtuais ou polimorfismo de método). Polimorfismo 13/18
Polimorfismo O Polimorfismo geralmente representa a qualidade ou estado de um objeto ser capaz de assumir diferentes formas. Pode se classificar em dois tipos Conversão de objetos filhos em pais; Chamadas de métodos (também conhecido como métodos virtuais ou polimorfismo de método). Polimorfismo 13/18
Polimorfismo O Polimorfismo geralmente representa a qualidade ou estado de um objeto ser capaz de assumir diferentes formas. Pode se classificar em dois tipos Conversão de objetos filhos em pais; Chamadas de métodos (também conhecido como métodos virtuais ou polimorfismo de método). Polimorfismo 13/18
Polimorfismo Exemplos: Considere uma herança entre a classe Pessoa (superclasse) e Funcionário (subclasse); Pode -se criar um Objeto do tipo Funcionário e convertê -lo em uma Pessoa. O contrário não é Possível (mas C++ deixa!) Polimorfismo 14/18
Métodos Virtuais Métodos Virtuais 15/18
Métodos ou Funções Virtuais Um método (ou função) virtual é aquele que pode ser sobrescrito em uma classe filha. Java permite sobrescrever todos métodos: Todos são implicitamente virtuais. C++ permite sobrescrever somente métodos definidos com a palavra especial virtual. Métodos Virtuais 16/18
Métodos ou Funções Virtuais Um método (ou função) virtual é aquele que pode ser sobrescrito em uma classe filha. Java permite sobrescrever todos métodos: Todos são implicitamente virtuais. C++ permite sobrescrever somente métodos definidos com a palavra especial virtual. Métodos Virtuais 16/18
Métodos ou Funções Virtuais Um método (ou função) virtual é aquele que pode ser sobrescrito em uma classe filha. Java permite sobrescrever todos métodos: Todos são implicitamente virtuais. C++ permite sobrescrever somente métodos definidos com a palavra especial virtual. Métodos Virtuais 16/18
Métodos ou Funções Virtuais Um método (ou função) virtual é aquele que pode ser sobrescrito em uma classe filha. Java permite sobrescrever todos métodos: Todos são implicitamente virtuais. C++ permite sobrescrever somente métodos definidos com a palavra especial virtual. Métodos Virtuais 16/18
Sobrecarga Sobrecarga 17/18
Sobrecarga Sobrecarregar um método é tê -lo duas ou mais vezes definido dentro da mesma classe (ou subclasses); O que muda são os parâmetros enviados para o método: Quantidade de parâmetros; Ordem em que os tipos foram definidos. Sobrecarga 18/18
Sobrecarga Sobrecarregar um método é tê -lo duas ou mais vezes definido dentro da mesma classe (ou subclasses); O que muda são os parâmetros enviados para o método: Quantidade de parâmetros; Ordem em que os tipos foram definidos. Sobrecarga 18/18
Sobrecarga Sobrecarregar um método é tê -lo duas ou mais vezes definido dentro da mesma classe (ou subclasses); O que muda são os parâmetros enviados para o método: Quantidade de parâmetros; Ordem em que os tipos foram definidos. Sobrecarga 18/18
Sobrecarga Sobrecarregar um método é tê -lo duas ou mais vezes definido dentro da mesma classe (ou subclasses); O que muda são os parâmetros enviados para o método: Quantidade de parâmetros; Ordem em que os tipos foram definidos. Sobrecarga 18/18