Aula 2 Princípios Básicos da Orientação a Objetos (Parte II)

Documentos relacionados
Introdução à Orientação a Objetos. SSC Engenharia de Software I Profa. Dra. Elisa Yumi Nakagawa 2 o semestre de 2012

Introdução a Orientação a Objetos e UML

Introdução ao Java. Prof. Herbert Rausch Fernandes

Linguagem de Programação III

INTRODUÇÃO À ORIENTAÇÃO A OBJETOS E UML

Aula 1 Introdução à Orientação a Objetos (OO) e UML

Linguagem de Programação I Apresentação da Disciplina

SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Introdução à Orientação a Objetos e UML

Programação Orientada a Objetos

Orientação a Objetos (OO)

Conceitos de Programação Orientada a Objetos

Laboratório de Programação. Aula 2 Java 5COP088. Aula 2 Java Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr

CURSO TÉCNICO DE INFORMÁTICA Módulo C ORIENTAÇÃO À OBJETO. Conceitos

Linguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos

Curso teórico: Orientação a Objetos. Matemática computacional Marcos Aurelio Wozhiak Jr webzhiak.com.br

Laboratório de programação II

Programação em Linguagem C++

Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs

Aprendendo. Java 2. Rodrigo Mello Ramon Chiara Renato Villela. Novatec Editora Ltda.

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos

Orientação a objetos. Objetos ou Instâncias I

O PARADIGMA ORIENTADO POR OBJETOS

Programação OO em Java. Profa Andréa Schwertner Charão DELC/CT/UFSM

2. Classes, Objectos, Herança e Polimorfismo

2. Classes, Objectos, Herança e Polimorfismo

Classe Abstrata e Interface

Programação Orientada a Objetos JAVA - NETBEANS

Introdução. Programação Orientada a Objetos (POO) João Paulo Q. dos Santos

Introdução à Programação. Encapsulamento e Herança

Programação Java (nível intermediário) 4. Polimorfismo

Laboratório de Programação. Aula 2 Java 5COP088. Aula 2 Java Prof. Dr. Sylvio Barbon Junior. Sylvio Barbon Jr

Java para Desktop. Programação Orientada à Objetos 2 JSE

Programação OO em Java. Profa Andréa Schwertner Charão DLSC/CT/UFSM

Vejamos o seguinte exemplo public class Exemplo private int testada = 20; public void testapalavra(int testada) JOptionPane.showMessageDialog(null,"Pa

Linguagem de Programação III

Herança Tiago Eugenio de Melo

Capítulo 2. Orientação a Objetos

Programação Orientada a Objetos

ACH2002. Orientação a Objetos

Introdução a Programação Orientada a Objetos

Modelo do Mundo Real. Abstração. Interpretação

Plano de Trabalho Docente Ensino Técnico

Programação Orientada a Objetos

Classes e Objetos. Sintaxe de classe em Java

E N C A P S U L A M E N T O P R O F. M E. H É L I O E S P E R I D I Ã O

Programação por Objectos. Java

Programação Orientada a Objetos

Introdução à Modelagem Conceitual 1. Conceitos Básicos

Linguagens de Programação Aula 12

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; }

Introdução à Orientação a Objetos

Linguagem de Programação I

Programação I Curso: Sistemas de Informação. Prof.: José Ronaldo Leles Júnior .:

Engenharia de Software. Aula 10 Representação dos Conceitos de Orientação a Objetos. Prof. Me. Rogério Ferreira

C com introdução a OO

UNIVERSIDADE PAULISTA - UNIP ICET INSTITUTO DE CIÊNCIAS EXATAS E TECNOLÓGIA

Herança. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno.

Polimorfismo e Ligação Dinâmica. Alcides Pamplona Polimorfismo e Ligação Dinâmica

Visibilidade e Encapsulamento

AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos.

ORIENTAÇÃO A OBJETOS Histórico:

Orientação a Objetos Classes Abstratas

Programação Java. - Herança e Polimorfismo - Marco Fagundes Marco Fagundes -

Herança. Herança. Herança. Herança. Herança. Programação Orientada a Objetos

Orientação a Objetos (OO) LPG II - Java. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental

Orientação a Objetos Parte I. Introdução a POO (Programação Orientada a Objetos)

Linguagem de Programação IV Introdução

Introdução à orientação a objetos. João Tito Almeida Vianna 18/05/2013

Desenvolvimento Web TCC Turma A-1

Programação Orientada a Objetos 2 Flávio de Oliveira Silva, M.Sc.

Herança e Polimorfismo - Parte II -

UNIDADE 5 Aplicação dos Conceitos de Orientação a Objetos

Polimorfismo: aprendendo a prever o futuro. Polimorfismo: aprendendo a prever o futuro. Definições (2/5) Definições Tipos de Polimorfismo

Linguagem de programação Programação Orientada a objetos

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

Programação Orientada a Objetos

Cronograma de Aulas - Mococa 1º Módulo 23/05/2009 a 27/06/2009

Orientação a Objetos - Herança

COMPORTAMENTOS - Observações

Linguagem de Programação Orientada a Objeto Abstração - Encapsulamento

Universidade Federal de Mato Grosso do Sul. Propriedades da Programação Orientada a Objetos

Programação Orientada a Objetos para Redes de Computadores

Programação Orientada a Objetos

Polimorfismo. O que é polimorfismo?

A B Classe Genérica D A C. Classe Especializada. Classe Especializada. Características Herdadas

Linguagem de Programação III

POO29004 Programação Orientada a Objetos

Programação orientada a objetos

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan

[Linguagem de Programação 3] [Aula 01] [Gustavo Yoshio Maruyama]

Professor Leonardo Cabral da Rocha Soares Lattes:

Conceitos de Programação Orientada a Objetos

Orientação a Objetos (OO) Java Avançado Revisão do Paradigma de. Orientação a Objetos (OO) Programação Orientada a Objetos. Programação Procedimental

Programação Orientada a Objetos

CURSO PROFISSIONAL DE TÉCNICO DE GESTÃO E PROGRAMAÇÃO DE SISTEMAS INFORMÁTICOS

Requisitos de sistemas

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS

Transcrição:

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