Estruturas. Programação I Cap. 4 - Estruturas. Exemplos de estruturas. Estruturas em Java. Tipos x instâncias. Criando instâncias de estruturas

Tamanho: px
Começar a partir da página:

Download "Estruturas. Programação I Cap. 4 - Estruturas. Exemplos de estruturas. Estruturas em Java. Tipos x instâncias. Criando instâncias de estruturas"

Transcrição

1 Estruturas Programação I Cap. 4 - Estruturas Christiano Braga cbraga@ic.uff.br Programas em geral não computam utilizando somente tipos primitivos como os números naturais e texto mas sim com tipos de dados resultantes da composição de outros tipos. Estruturas representam esta composição e implementam essencialmente a noção de produto cartesiano entre conjuntos. 1 2 Exemplos de estruturas Quando você seleciona uma música no seu MP3 player, a entrada dela tem o nome da música, o autor da música, o álbum e talvez um contador no número de vezes que ela foi tocada. Ou seja, a entrada no catálogo de músicas é o resultado da composição dos tipos texto, três vezes, e um natural. A representação matemática de uma entrada no catálogo de música pode ser: Entrada = String x String x String x Int, onde o operador x representa o produto cartesiano. Estruturas em Java Nossos programas até o momento eram codificados na forma de classes com funções. Classes, no entanto, representam uma das formas de definição de tipos em Java. Outras formas são as interfaces e enumerações que serão vistas mais tarde. Uma entrada no catálogo de música pode ser representada em Java pela seguinte declaração de classe: class Entrada 3 4 Criando instâncias de estruturas Tipos x instâncias Elementos de um tipo, também chamados de instâncias de um tipo, são criados em Java em dois passos: 1. Primeiro declaramos uma variável do cujo o tipo é a classe definimos. 2. Instanciamos o tipo através do comando new. Uma instância da classe Entrada pode ser criada da seguinte forma: Entrada e ; e = new Entrada() ; Podemos atualizar os campos de uma estrutura como atualizamos uma variável. O acesso aos campos da estrutura se dá através da chamada notação de ponto. Matematicamente, a notação de ponto representa uma projecão de uma tupla criada através do produto cartesiano entre dois ou mais conjuntos. Continuando o exemplo: e.nome = Even flow ; e.autor = Pearl Jam ; e.album = Ten ; É importante enfatizar a relação entre tipo e instância. No contexto dos tipos primitivos, o número 1 é uma instância dos números naturais, que podem ser representados em Java pelo tipo int. No contexto de estruturas, o objeto < Even flow, Pearl Jam, Ten, 0 > é uma instância do tipo Entrada. Pense em outros exemplos de objetos instâncias do tipo Entrada. Quantas instâncias do tipo Entrada existem? 5 6 1

2 O programa Java até agora... Funções e procedimentos sobre estruturas /** * Proposito: Exemplificar a criacao de estruturas como classes. * A classe Entrada representa um estrutura com as informacoes * de uma musica num catalogo de musicas. */ // album - em qual album a musica apareceu a 1a. vez. // contador - representa o numero de vezes que a musica foi tocada. public static void main(string[] args) Entrada e ; e = new Entrada() ; e.nome = "Even flow" ; e.autor = "Pearl Jam" ; e.album = "Ten" ; Da mesma forma que definimos funções que recebem tipos primitivos como String ou int podemos escrever funções ou procedimentos que recebem estruturas. Por exemplo o procedimento toca que incrementa o contador de uma dada Entrada. static void toca(entrada e) e.contador = e.contador + 1 ; 7 8 Funções e procedimentos sobre estruturas O programa Java até agora... de novo! De maneira similar podemos escrever um procedimento que cria instâncias de estruturas. Estes procedimentos podem ter parâmetros assim como as funções definimos até o momento. static Entrada criarentrada(string nome, String autor, String album) Entrada e = new Entrada() ; e.nome = nome ; e.autor = autor ; e.album = album ; return e ; // album album no qual a musica apareceu // a 1a. vez. // contador - representa o numero de vezes // a musica foi tocada. static Entrada criarentrada(string nome, String autor, String album) Entrada e = new Entrada() ; e.nome = nome ; e.autor = autor ; e.album = album ; return e ; public static void toca(entrada e) e.contador = e.contador + 1 ; public static void main(string[] args) Entrada e ; e = criarentrada("even flow", "Pearl Jam", "Ten") ; System.out.println("Nome = " + e.nome) ; System.out.println("Autor = " + e.autor) ; System.out.println("Album = " + e.album) ; toca(e) ; System.out.println("Contador = " + e.contador) ; // Entrada 9 10 Construtores e métodos Construtor da classe Entrada Java tem uma sintaxe específica para a implementação de procedimentos para a criação de instâncias de classes ao invés de implementarmos procedimentos como o criarentrada. Estes procedimentos são chamados de construtores. O nome de um procedimento construtor leva o mesmo nome da classe a ser instanciada. Em geral, o construtor inicializa os campos da classe sendo instanciada. Entrada(String nome, String autor, String album) this.nome = nome ; this.autor = autor ; this.album = album ; Quais são as diferenças para o procedimento criarentrada?

3 Construtor da classe Entrada O programa Java até agora... outra vez! 1. A assinatura do construtor tem uma sintaxe específica, como dissemos antes. O nome do construtor é o nome da classe sendo instanciada e a declaração do construtor não tem tipo de retorno: está implícito pelo nome do construtor. 2. O construtor não precisa, explicitamente, retornar uma instância da classe. Isso acontece automaticamente. 3. Os campos da instância sendo criada podem ser acessados através da variável especial this que referencia a instância sendo criada. // album - em qual album a musica apareceu a 1a. vez. // contador - representa o numero de vezes que a musica foi tocada. Entrada(String nome, String autor, String album) this.nome = nome ; this.autor = autor ; this.album = album ; public static void toca(entrada e) e.contador = e.contador + 1 ; public static void main(string[] args) Entrada e = new Entrada("Even flow", "Pearl Jam", "Ten") ; System.out.println("Nome = " + e.nome) ; System.out.println("Autor = " + e.autor) ; System.out.println("Album = " + e.album) ; toca(e) ; System.out.println("Contador = " + e.contador) ; Métodos Métodos são como funções ou procedimentos mas que tem um primeiro parâmetro implícito: a instância de uma classe. Em outras palavras, um método é uma função ou procedimento que está sendo aplicada a uma instância específica de um tipo. O procedimento toca escrito como um método na classe Entrada class Entrada //... Todas aquelas declarações... void toca() this.contador = this.contador + 1 ; //... e outras mais O programa Java Orientado a objetos! Versões imperativas e OO Compare o procedimento toca da versão anterior da classe Entrada com esta versão. Compare também os procedimentos main. // album - em qual album a musica apareceu a 1a. vez. // contador - representa o numero de vezes que a musica foi tocada. Entrada(String nome, String autor, String album) Versão imperativa public static void toca(entrada e) e.contador = e.contador + 1 ; public static void main(string[] args) Entrada e = new Entrada("Even flow", "Pearl Jam", "Ten") ; toca(e) ; System.out.println("Contador = " + e.contador) ; Que diferenças você encontra? this.nome = nome ; this.autor = autor ; this.album = album ; void toca() this.contador = this.contador + 1 ; public static void main(string[] args) Entrada e = new Entrada("Even flow", "Pearl Jam", "Ten") ; e.toca() ; System.out.println("Contador = " + e.contador) ; 17 Versão Orientada a objetos void toca() this.contador = this.contador + 1 ; public static void main(string[] args) Entrada e = new Entrada("Even flow", "Pearl Jam", "Ten") ; e.toca() ; System.out.println("Contador = " + e.contador) ; 18 3

4 Receita para projeto de programas revisitada Exercício: pontos num plano Fase Objetivos Atividades Análise de dados e projeto Formular definição de dados. Identificar, na descrição do problema, os diferentes tipos de dados que compõem objetos. Adicionar uma definição de estrutura para cada tipo de objeto. Assinatura da função Nomear os métodos. Nomear os métodos, as classes de entrada de Especificar os tipos de dados de entrada e dados, classes de saída de dados, e especificar retorno dos métodos. seu propósito. Descrever o propósito do método e sua //nome : in1 in2... -> out assinatura. //computar... a partir de x1 Exemplos Relacionar entrada e saída de dados através de Estudar a descrição de problema procurando por Pensar sobre os Validar os resultados, se possível. Produzir novos Implemente uma classe Point que representa um ponto num plano. Implemente um método distancetoorigin que calcule a distância de um dado ponto a origem do plano. Template Produzir um template de função. Para os parâmetros que são estruturas, produzir comentários com expressões representando as projeções apropriadas. Se o método for condicional, produzir comentários com todos os casos a serem cobertos. Declaração Escrever a declaração da função. Escrever um método Java. Testes Descobrir erros. Aplicar os métodos aos valores identificados nos Verificar se os resultados são os esperados Exercício: desenhando num canvas Um canvas é um objeto sobre o qual podemos desenhar. Utilize a classe SimpleCanvas para realizar seu trabalho. Os métodos da classe são os seguintes: 21 Exercício: desenhando num canvas SimpleCanvas(String s) abre uma janela com título s e cria um canvas de 800x600 pontos. void drawline(point p1, Point p2) void eraseline(point p1, Point p2) void drawrectangle(point origin, int width, int height) void eraserectangle(point origin, int width, int height) void drawdisc(point origin, int radius) desenha um círculo cheio com centro em origin e raio radius. void erasedisc(point origin, int radius) void drawcircle(point origin, int radius) desenha uma circunferência (somente o perímetro com centro em origin e raio radius. void erasecircle(point origin, int radius) void setforegroundcolour(color c) void wait(int t) faz com que a execução do programa fique atrasada em t milisegundos. 22 Cores Para que se possa utilizar a classe Color é necessário: 1. Colocar no inicio do programa: import java.awt.* ; Essa declaração faz com que seu programa possa utilizar algumas constantes pré-definidas na classe Color, que reside dentro do pacote java.awt. Pacotes são basicamente conjuntos de classes. Mais sobre pacotes depois. 2. Para passar a cor vermelha como parâmetro ao método setforegroundcolour escreva c.setforegroundcolour(color.red), onde c é um objeto do tipo SimpleCanvas. 23 Exercício: Sinal de trânsito 1. Implemente uma função que desenhe um sinal de trânsito no canvas. Isto é, um retângulo com três círculos dentro. 2. Implemente uma função que faça o sinal ficar vermelho. 3. Implemente uma função que faça o sinal ficar amarelo. 4. Implemente uma função que faça o sinal ficar verde. 5. Implemente um procedimento main que mude a cor do semáforo, 1o. para vermelho, apague todo o sinal, depois amarelo, apague todo o sinal, e finalmente verde e apague todo o sinal. 24 4

5 Inclusão de tipos Já vimos os seguintes tipos básicos (ou prédefinidos) que representam números: int representando os números inteiros. double representando os números reais. O tipo long tem uma capacidade maior para representar os números inteiros. Estes tipos, entendidos como conjuntos, satisfazem a seguinte expressão de inclusão: int long double 25 Coerção entre tipos Uma função, método ou procedimento, pode ser chamada com um valor (parâmetro real) de um tipo menor do que o tipo do seu parâmetro formal, isto é, de um tipo contido no tipo do parâmetro formal. Exemplo: double area(double r) return 3.14 * r * r; public static void main(string[] args) area(2) ; 26 Coerção Inclusão de tipos II E o contrário? Podemos declarar int f(int p) e invocar f(3.14)? Em alguns casos esta perda de precisão é intencional e desejada. Devemos então escrever, por exemplo, f((int) d), com d, por exemplo, uma variável do tipo double. Tipos definidos pelo usuário podem ter uma relação de inclusão da mesma maneira que os tipos primitivos. Consideremos o exemplo de desenho num canvas. Podemos pensar em tipos representando cada uma das formas geométricas que utilizamos. Mais ainda, podemos pensar num tipo que contenha todas as nossas formas geométricas Formas geométricas Rectangle GeometricShape Circle GeometricShape Line GeometricShape GeometricShape Rectangle Circle Line 29 Herança A relação de inclusão entre tipos definidos como classe se chama herança na terminologia de programação orientada a objetos. No exemplo das formas geométricas dizemos que a classe Rectangle herda da classe GeometricShape. Objetos instâncias da classe Rectangle são também instâncias de GeometricShape. 30 5

6 A classe GeometricShape A classe GeometricShape pode ser declarada da seguinte forma: import java.awt.* ; abstract class GeometricShape protected SimpleCanvas canvas ; protected Color color ; GeometricShape(SimpleCanvas sc, Color c) canvas = sc ; color = c ; abstract void draw() ; abstract void erase() ; Classes abstratas Em Java é possível declarar classes abstratas. O significado de uma classe abstrata c é o de um tipo t que somente tem como instâncias elementos que sejam instâncias de subtipos de t, isto é, classes que herdem da classe c. No exemplo das formas geométricas, a classe GeometricShape não terá instâncias. Ao declararmos uma variável do tipo GeometricShape ela somente poderá ficar associada a objetos instâncias de classes que herdem de GeometricShape Classes herdeiras de GeometricShape As classes Rectangle, Circle e Line herdam de GeometricShape. São chamadas classes herdeiras ou filhas de GeometricShape. Cada uma delas implementa os métodos draw e erase a sua maneira. Escopo dos atributos de uma classe Note que os atributos canvas e color da classe GeometricShape foram declarados com o modificador protected. Isso significa que estes atributos podem ser utilizados por instâncias das classes herdeiras. Se o modificador utilizado tivesse sido private, isso não seria possível. Somente instâncias de GeometricShape poderiam acessar estes atributos. Se o modificador fosse public objetos de outras classes poderiam acessar estes atributos A classe RectangleShape import java.awt.* ; class RectangleShape extends GeometricShape private Point origin ; private int width ; private int height ; RectangleShape(SimpleCanvas sc, Color c, Point o, int w, int h) super(sc,c) ; origin = o ; width = w ; height = h ; void draw() canvas.drawrectangle(origin, width, height) ; void erase() canvas.eraserectangle(origin, width, height) ; Classes CircleShape e LineShape Como fica a declaração destas classes?

7 Um exemplo de procedimento main Receita de projeto de programa revisitada import java.awt.* ; Fase Objetivos Atividades class Example public static void main(string[] args) SimpleCanvas sc = new SimpleCanvas("Example") ; Point origin = new Point(100,100) ; GeometricShape s = new RectangleShape(sc, Color.black, origin, 50, 50) ; s.draw() ; sc.wait(500) ; s.erase() ; origin = new Point(150,150) ; s = new CircleShape(sc, Color.black, origin, 50) ; s.draw() ; sc.wait(500) ; s.erase() ; Análise de dados e projeto Formular definição de dados. Identificar, na descrição do problema, os diferentes tipos de dados que compõem objetos. Adicionar uma definição de estrutura (classes) para cada tipo de objeto. Identificar diferentes tipos de classes de dados. Assinatura da função Nomear os métodos. Nomear os métodos, as classes de entrada de dados, Especificar os tipos de dados de entrada e retorno dos classes de saída de dados, e especificar seu métodos. propósito. Descrever o propósito do método e sua assinatura. //nome : in1 in2... -> out //computar... a partir de x1 Exemplos Relacionar entrada e saída de dados através de Estudar a descrição de problema procurando por Pensar sobre os Validar os resultados, se possível. Produzir novos Point p1 = new Point(200, 200) ; Point p2 = new Point(300, 300) ; s = new LineShape(sc, Color.black, p1, p2) ; s.draw() ; sc.wait(500) ; s.erase() ; Template Produzir um template de função. Definir métodos comuns a classes de dados. Para os parâmetros que são estruturas, produzir comentários com expressões representando as projeções apropriadas. Se o método for condicional, produzir comentários com todos os casos a serem cobertos. Declaração Escrever a declaração da função. Escrever um método Java. Implementar os diferentes comportamentos para cada método. Testes Descobrir erros. Aplicar os métodos aos valores identificados nos Verificar se os resultados são os esperados Exercício: Sinal de trânsito revisitado Refaça o exercício do sinal de trânsito utilizando as classes GeometricShape, RectangleShape, CircleShape e LineShape. 39 7

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

Interfaces. Universidade Católica de Pernambuco Ciência da Computação. Prof. Márcio Bueno. Interfaces Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Interfaces É utilizada para agrupar conceitos em

Leia mais

Classes e Objetos. Sintaxe de classe em Java

Classes e Objetos. Sintaxe de classe em Java Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados

Leia mais

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

Lista 05 Herança. public class PessoaFisica extends Pessoa { private String RG; public PessoaFisica(){ super(); } public String getrg(){ return RG; } Lista 05 Herança 1. Analisando a classe Java abaixo podemos observar que a mesma possui apenas um atributo, um construtor e dois métodos. Perceba que dentro do método main estão sendo invocados métodos

Leia mais

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

Programação Orientada a Objetos. Vagner Luz do Carmo - Vluzrmos Programação Orientada a Objetos Vagner Luz do Carmo - Vluzrmos Questão 1 Dada a seguinte classe na linguagem JAVA: public class Carro { public String retornacor(){ ; return Azul ; private String retornachassi(){

Leia mais

Linguagem de Programação III

Linguagem de Programação III Linguagem de Programação III Aula-7 Reutilização de Classes Prof. Esbel Tomás Valero Orellana Até Aqui Introdução a POO e sua implementação em Java Atributos, métodos e encapsulamento dos mesmos Trabalhando

Leia mais

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

Programação Orientada a Objetos. Professor: André Luis Meneses Silva br.geocities.com/programacao2ufs Programação Orientada a Objetos Professor: André Luis Meneses Silva andreluis.ms@gmail.com br.geocities.com/programacao2ufs [ Conteúdo ] Objeto Mensagens Classe Encapsulamento Visibilidade Membros de Instância

Leia mais

1 Introdução e Conceitos básicos

1 Introdução e Conceitos básicos 1 Introdução e Conceitos básicos Aula 02 Sumário Capítulo 1 Introdução e Conceitos básicos 1.1 Modelos 1.2 Tipos primitivos de dados 1.3 Tipo Abstrato de dados 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2

Leia mais

Programação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes -

Programação Java. Marco Fagundes. - Herança, Classes Abstratas e Interfaces Marco Fagundes - Programação Java - Herança, Classes Abstratas e Interfaces - Marco Fagundes mfagundes@tre-pa.gov.br 1 Tópicos Herança Ligação Dinâmica Polimorfismo 2 Herança Herança é um conceito que mapeia as classes

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro 7 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract

Leia mais

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura Java First-Tier: Aplicações Orientação a Objetos em Java (I) Paradigmas de Programação Programação Funcional Programação Procedural Programação Orientada por Objetos Grupo de Linguagens de Programação

Leia mais

POO29004 Programação Orientada a Objetos

POO29004 Programação Orientada a Objetos POO29004 Programação Orientada a Objetos Herança Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/poo 11 de setembro

Leia mais

Introdução. Universidade Federal de Uberlândia. Programação Orientada a Objetos. Prof. Fabiano Dorça

Introdução. Universidade Federal de Uberlândia. Programação Orientada a Objetos. Prof. Fabiano Dorça Introdução Universidade Federal de Uberlândia Programação Orientada a Objetos Prof. Fabiano Dorça Introdução Definições iniciais: classe, objeto, métodos, atributos. Introdução Ao escrever um programa

Leia mais

Conceitos Básicos da Programação OO

Conceitos Básicos da Programação OO Conceitos Básicos da Programação OO Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Objetivos Aprender os

Leia mais

Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli

Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; Tudo no mundo real pode ser representado por meio do conceito de "objeto": uma planta, uma mesa, uma pessoa, um sentimento,

Leia mais

9 Classes Abstractas e Interfaces

9 Classes Abstractas e Interfaces 9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract

Leia mais

Classe Abstrata e Interface

Classe Abstrata e Interface Orientação a objetos com Java Classe Abstrata e Interface Byron Leite byron.leite@gmail.com 1 Herança Agenda Geral Parte 04 Encapsulamento Pacotes Modificadores de Acesso private, default, protected, public

Leia mais

Especificam quem tem acesso a cada entidade, isto é, quem tem acesso a. cada classe e cada membro da classe (dados e métodos)

Especificam quem tem acesso a cada entidade, isto é, quem tem acesso a. cada classe e cada membro da classe (dados e métodos) Mecanismos de controlo de acesso Especificam quem tem acesso a cada entidade, isto é, quem tem acesso a cada classe e cada membro da classe (dados e métodos) Modificadores de acesso: public protected private

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro 9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract

Leia mais

Encapsulamento e Métodos (Construtores e Estáticos) João Paulo Q. dos Santos

Encapsulamento e Métodos (Construtores e Estáticos) João Paulo Q. dos Santos Encapsulamento e Métodos (Construtores e Estáticos) Sobrecarga de Métodos João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Roteiro Conceitos sobre Encapsulamento; Variável this; Métodos Construtores;

Leia mais

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

Vejamos o seguinte exemplo public class Exemplo private int testada = 20; public void testapalavra(int testada) JOptionPane.showMessageDialog(null,Pa Palavra reservada this Em Java podemos ter um parâmetro de um método e um atributo de uma classe com o mesmo nome. Caso façamos uma referência a esta variável, pelo princípio da localidade estaremos referenciando

Leia mais

Recapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... }

Recapitulando. Construtores: (Overload assinatura) public Circle() {...} public Circle(double x, double y, double r) {... } Recapitulando Orientação a objetos: programas organizados em torno da definição de classes, instanciação de objetos e troca de mensagens. Declaração de variáveis de referencia: Circle c; Criação/instanciação

Leia mais

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO CLASSES E OBJETOS PARA PROGRAMAÇÃO ORIENTADA A OBJETOS Classes são estruturas das linguagens de POO criadas para conter os dados que

Leia mais

Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores. Prof.: Bruno E. G. Gomes IFRN

Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores. Prof.: Bruno E. G. Gomes IFRN Programação Orientada a Objetos Aula I Declaração de classes, métodos construtores Prof.: Bruno E. G. Gomes IFRN 1 Introdução Na aula de hoje: Declaração de classes Métodos Construtores Exercícios de criação

Leia mais

Dados armazenados em um objeto podem ser tanto primitivos, tais como inteiros ou caracteres, ou referências para outros objetos.

Dados armazenados em um objeto podem ser tanto primitivos, tais como inteiros ou caracteres, ou referências para outros objetos. 2. Classes e Objetos Uma classe é um modelo que define os atributos e métodos comuns a um conjunto de objetos de forma encapsulada. Atributos são informações ou dados que descrevem, categorizam ou quantificam

Leia mais

Unidade: Classes Abstratas, Polimorfismo, Sobreposição e Interfaces

Unidade: Classes Abstratas, Polimorfismo, Sobreposição e Interfaces Unidade: Classes Abstratas, Polimorfismo, Sobreposição e Interfaces 0 Unidade: Classes Abstratas, Polimorfismo, Sobreposição e Interfaces Classes Abstratas À medida que você sobe na hierarquia de herança,

Leia mais

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

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Herança Aula de Hoje Problema Considere uma empresa que tenha tipos de empregados no aplicativo de folha de pagamento Um empregado tem nome,

Leia mais

Programação Orientada a Objetos. Métodos e Atributos. Métodos. Métodos. Alexandre César Muniz de Oliveira. Parte III

Programação Orientada a Objetos. Métodos e Atributos. Métodos. Métodos. Alexandre César Muniz de Oliveira. Parte III Programação Orientada a Objetos Alexandre César Muniz de Oliveira Métodos e Atributos Parte III Métodos [mod] tipo nome ([tipo arg]) [throws exc]{ [mod]: zero ou mais modificadores separados por espaços

Leia mais

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

Programação Java (nível intermediário) 4. Polimorfismo Programação Java (nível intermediário) 4 Polimorfismo Introdução Uma linguagem orientada a objetos nos permite definir novos tipos para variáveis Nós definimos um novo tipo através de uma classe Este tipo

Leia mais

Linguagem de Programação III

Linguagem de Programação III Linguagem de Programação III Aula-4 Construtores e Sobrecarga Prof. Esbel Tomás Valero Orellana Até Aqui Modelos e POO Classes e sua implementação em Java Encapsulamento Tipos de dados nativos em Java

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2016.2 http://www.dcc.ufrj.br/~fabiom/java Classes abstratas Até agora, usamos interfaces toda vez que queríamos representar algum conceito abstrato

Leia mais

Lista de exercícios 2

Lista de exercícios 2 UNIVERSIDADE FEDERAL DO ESPÍRITO SANTO CENTRO DE CIÊNCIAS AGRÁRIAS CCA/ UFES Departamento de Engenharia Rural Disciplina: Programação II Professora: Juliana Pinheiro Campos Data: 19/10/2012 Lista de exercícios

Leia mais

Programação com Objectos. Processamento de Dados I. 2. Classes, Atributos e Métodos

Programação com Objectos. Processamento de Dados I. 2. Classes, Atributos e Métodos Programação com Objectos Processamento de Dados I 2. Classes, Atributos e Métodos 1 Classes, Atributos e Métodos Modificadores de acesso (visibilidade) Sobrecarga de métodos (method overloading) Variáveis

Leia mais

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

Linguagem de Programação Orientada a Objeto Abstração - Encapsulamento Linguagem de Programação Orientada a Objeto Abstração - Encapsulamento Professora Sheila Cáceres Variáveis locais Campos são um tipo de variável. Eles: armazenam valores por toda a vida de um objeto; e

Leia mais

Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação

Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação Implementando classes em C# Curso Técnico Integrado em Informática Fundamentos de Programação Introdução Além de utilizar as classes presentes na biblioteca padrão, programadores podem definir suas próprias

Leia mais

Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus

Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Prof. Responsáveis Wagner Santos C. de Jesus Curso Disciplina Linguagem de Programação II Curso Engenharia da Computação Fundamentos Básicos da linguagem Java (Programação Orientada a Objetos) Site : http://www1.univap.br/~wagner/ec.html Prof. Responsáveis

Leia mais

Lição 11 Herança, polimorfismo e interfaces

Lição 11 Herança, polimorfismo e interfaces Lição 11 Herança, polimorfismo e interfaces 1 Objetivos Ao final da lição, o estudante deverá estar apto a: Definir superclasses e subclasses Criar Override de métodos de superclasses Criar métodos e classes

Leia mais

PADRONIZAÇÃO 10. INTERFACES PADRONIZAÇÃO CONTRATOS

PADRONIZAÇÃO 10. INTERFACES PADRONIZAÇÃO CONTRATOS PADRONIZAÇÃO 10. INTERFACES No dia-a-dia lidamos com diversos aparelhos elétricos Diversas empresas fabricam aparelhos elétricos com plugues E se cada empresa decidisse por conta própria o formato dos

Leia mais

Orientação a objetos. Programação. Orientada a Objetos. Orientação a objetos. Orientação a objetos. Abstração e encapsulamento

Orientação a objetos. Programação. Orientada a Objetos. Orientação a objetos. Orientação a objetos. Abstração e encapsulamento Orientação a objetos Programação Orientada a Objetos Alexandre César Muniz de Oliveira Linguagens orientadas a procedimentos e linguagens orientadas a objetos Unidade de programação: funções e classes

Leia mais

Atributos e Métodos de Classe

Atributos e Métodos de Classe Algoritmos e Programação II Aula 5 Atributos e Métodos de Carga *Adaptado do material do Prof. Júlio Machado e Profa. Isabel Manssour Atributos e Métodos de Classe Java permite declarar duas categorias

Leia mais

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

Introdução à Programação. Encapsulamento e Herança Introdução à Programação Encapsulamento e Herança Tópicos da Aula Hoje, aprenderemos conceitos mais avançados de Orientação a Objetos Encapsulamento Usando modificadores de acesso em C++ Herança Importância

Leia mais

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

Linguagem de programação Programação Orientada a objetos Instituto Federal de Minas Gerais Campus Ponte Nova Linguagem de programação Programação Orientada a objetos Professor: Saulo Henrique Cabral Silva Paradigma da orientação a objetos Paradigma = forma de

Leia mais

Java First-Tier: Aplicações. Herança: Simples Múltipla. Orientação a Objetos em Java (III) Problemas de Herança Múltipla.

Java First-Tier: Aplicações. Herança: Simples Múltipla. Orientação a Objetos em Java (III) Problemas de Herança Múltipla. Java First-Tier: plicações Orientação a Objetos em Java (III) Grupo de Linguagens de Programação Departamento de Informática PUC-Rio Herança: Simples Múltipla O tipo de herança que usamos até agora é chamado

Leia mais

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

UNIVERSIDADE FEDERAL DE MATO GROSSO DO SUL SISTEMAS DE INFORMAÇÃO - CÂMPUS DE COXIM FUNDAMENTOS EM ORIENTAÇÃO A OBJETOS Data final de entrega 16/09/2014, até às 23h59min Enviar o arquivo de respostas em formato PDF e o arquivozip com códigos fontes para o e-mail motafernandomaia@gmailcom, insira no assunto do e-mail [Lista

Leia mais

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

Linguagem de Programação II Programação Orientada a Objetos. Orientação a Objetos Linguagem de Programação II Programação Orientada a Objetos Orientação a Objetos Prof. Alessandro Borges 2 Tópicos Introdução à Programação Orientada a Objetos Conceitos Objetivos Classes e Objetos Atributos

Leia mais

Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces

Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces Linguagem de Programação Orientada a Objeto Polimorfismo, Classes Abstractas e Interfaces Professora Sheila Cáceres Polimorfismo Polimorfismo Polimorfismo é a característica única de linguagens orientadas

Leia mais

Herança. Prof. Fernando V. Paulovich 23 de agosto de 2010

Herança. Prof. Fernando V. Paulovich  23 de agosto de 2010 Herança SCC0604 - Programação Orientada a Objetos Prof. Fernando V. Paulovich http://www.icmc.usp.br/~paulovic paulovic@icmc.usp.br Instituto de Ciências Matemáticas e de Computação(ICMC) Universidade

Leia mais

Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 01

Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 01 Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 01 Objetivos: Modelar um sistema orientado a objetos simples a partir

Leia mais

Linguagem de Programação II Implementação

Linguagem de Programação II Implementação Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Criando objeto Definindo valores para os atributos do objeto Método construtor Definindo valores padrão para os atributos dos

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2016.2 http://www.dcc.ufrj.br/~fabiom/java Interfaces Uma interface é uma forma abstrata de descrever um objeto A classe fixa a forma de um objeto

Leia mais

Computação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz /05/13. Questão: Total Pontos: Gráu:

Computação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz /05/13. Questão: Total Pontos: Gráu: Computação II - Java - Prova 1 Prof. Adriano Joaquim de Oliveira Cruz - 2015/05/13 Questão: 1 2 3 4 5 6 Total Pontos: 20 15 15 10 10 30 100 Gráu: 1. Defina os termos listados a seguir: (a) (10 Pontos)

Leia mais

Classes e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos

Classes e Objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II. Classes. Objetos. Um modelo para a criação de objetos INTRODUÇÃO À ORIENTAÇÃO A OBJETOS COM JAVA - MÓDULO II Classes e Objetos Objetos Um conjunto de estados e comportamentos Classes Um modelo para a criação de objetos 1 Pacotes e Java API Pacotes Um conjunto

Leia mais

Java 2 Standard Edition Classes internas

Java 2 Standard Edition Classes internas Java 2 Standard Edition Classes internas Helder da Rocha www.argonavis.com.br 1 Classes internas Classes podem ser membros de classes, de objetos ou locais a métodos. Podem até serem criadas sem nome,

Leia mais

Instituto de Informática Estrutura de Dados II

Instituto de Informática Estrutura de Dados II Instituto de Informática Estrutura de Dados II Revisão de Métodos em Classes Aplicada a Estrutura de Dados Básicas 20/08/2018 Profa. Lucília Gomes Ribeiro Prof. Dirson S Campos Programação em Java q O

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro Variáveis e Métodos de Classe Em Java, quer as classes quer as instâncias das classes são objectos. Onde está o estado da classe? Com que operações é manipulado? UBI, Departamento de Informática T04-1

Leia mais

Programação Orientada a Objetos II

Programação Orientada a Objetos II Programação Orientada a Objetos II Introdução Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com www.bolinhabolinha.com Apresentação Prof. Rodrigo Rocha prof.rodrigorocha@yahoo.com Ementa Introdução ao Desenvolvimento

Leia mais

Nome do Aluno: Matrícula: Turma: Data: 08/04/2013

Nome do Aluno: Matrícula: Turma: Data: 08/04/2013 Nome do Aluno: Matrícula: Turma: Data: 08/04/2013 1. (Encapsulamento) Dado o código abaixo diga quais os métodos que são visíveis para a instância objy criada pelo comando y objy = new objy() no método

Leia mais

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real:

Para entender o conceito de objetos em programação devemos fazer uma analogia com o mundo real: Introdução a Orientação a Objetos com Java Autor: Professor Victor Augusto Zago Menegusso. Orientação a Objetos É um paradigma de programação que define a estrutura de um programa baseado nos conceitos

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos luno: ata: Professor: Leonardo abral da Rocha Soares 1. Torna o atributo visível a todas as classes do pacote onde foi declarado: a) public b) private c) protected d) package

Leia mais

Linguagem de Programação IV Introdução

Linguagem de Programação IV Introdução Linguagem de Programação IV Introdução Prof. Alessandro Borges 2 Tópicos Orientação a objetos Classe Objeto Abstração Encapsulamento Herança Polimorfismo Plataforma Java 3 4 POO é um paradigma de programação

Leia mais

Encapsulamento. Introdução à Programação André L. Santos

Encapsulamento. Introdução à Programação André L. Santos Encapsulamento Introdução à Programação André L. Santos Pacotes A pacotes são módulos que agrupam classes, forçosamente separadas ao nível do sistema de ficheiros. De modo a definir que uma classe pertence

Leia mais

Classes e Objetos POO

Classes e Objetos POO Classes e Objetos POO Prof. Marcio Delamaro 1/40 POO (wikipedia) Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which are data structures that contain data,

Leia mais

Orientação a Objetos e Java

Orientação a Objetos e Java Orientação a Objetos e Java Daves Martins davesmartins@yahoo.com.br Mestre em Computação de Alto Desempenho pela UFRJ Especialista em Banco de Dados Analista Web Orientação a Objetos e Java Características

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 6: Herança e Polimorfismo LEEC@IST Java 1/50 Herança revisão (1) A herança é um mecanismo em que a subclasse constitui uma especialização da superclasse. A superclasse

Leia mais

Introdução. LP OO desenvolvida pela Sun no início da década de 90 com sintaxe semelhente a C\C++. C C++.

Introdução. LP OO desenvolvida pela Sun no início da década de 90 com sintaxe semelhente a C\C++. C C++. Java Parte I mleal@inf.puc-rio.br 1 Introdução LP OO desenvolvida pela Sun no início da década de 90 com sintaxe semelhente a C\C++. C C++. Todos os programas Java são compilados e interpretados. O compilador

Leia mais

Definição. Em POO, a abstração é o processo de esconder os detalhes de implementação de uma aplicação.

Definição. Em POO, a abstração é o processo de esconder os detalhes de implementação de uma aplicação. Abstração JAVA Definição Em POO, a abstração é o processo de esconder os detalhes de implementação de uma aplicação. Em Java, a abstração é alcançada através de classes abstratas e interfaces. Classes

Leia mais

Introdução. Atributos em Java. Atributos. Acesso à atributos em Java. Atributo versus variável. Atributos, métodos e encapsulamento.

Introdução. Atributos em Java. Atributos. Acesso à atributos em Java. Atributo versus variável. Atributos, métodos e encapsulamento. Introdução Atributos, métodos e encapsulamento joao@ecomp.uefs.br Atributos Ipos de acesso: private, public, protected e default Encapsulamento Métodos Construtores Criando objetos Departamento de Ciências

Leia mais

Interfaces e Classes Abstratas

Interfaces e Classes Abstratas Interfaces e Classes Abstratas José Gustavo de Souza Paiva Problema Método obterarea()? Classes Abstratas Classes que funcionam como um molde Declarada com comando abstract Contém um ou mais métodos abstratos

Leia mais

Programação Orientada a Objetos. Prof. Diemesleno Souza Carvalho

Programação Orientada a Objetos. Prof. Diemesleno Souza Carvalho Programação Orientada a Objetos Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Programação Orientada a Objetos Na aula passada, vimos: Classes Abstratas Programação

Leia mais

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

Programação OO em Java. Profa Andréa Schwertner Charão DLSC/CT/UFSM Programação OO em Java Profa Andréa Schwertner Charão DLSC/CT/UFSM Sumário Herança Visibilidade de atributos e métodos Extensão e sobreposição Uso de super Referências para objetos Polimorfismo Conceitos

Leia mais

Interfaces. Classes abstratas que possuem apenas métodos abstratos. Na Interface: Métodos são implicitamente. Campos são implicitamente

Interfaces. Classes abstratas que possuem apenas métodos abstratos. Na Interface: Métodos são implicitamente. Campos são implicitamente Classes abstratas que possuem apenas métodos abstratos Na Interface: Métodos são implicitamente abstract e public Campos são implicitamente static e final Não possuem construtores assim como as classes

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro 3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem

Leia mais

Programação Orientada a Objetos. Aula 1.9 this e static. Prof. Bruno Moreno

Programação Orientada a Objetos. Aula 1.9 this e static. Prof. Bruno Moreno Programação Orientada a Objetos Aula 1.9 this e static Prof. Bruno Moreno bruno.moreno@ifrn.edu.br Relembre: Clase RoboSimples Os métodos move() e move(int passos) podem ser reescrito sem redundância de

Leia mais

Algoritmos e Programação 2. Objetos e Classes em Java. Classes. Revisão. Definições de classes incluem (geralmente):

Algoritmos e Programação 2. Objetos e Classes em Java. Classes. Revisão. Definições de classes incluem (geralmente): Algoritmos e Programação 2 Baseado no material do Prof. Júlio Machado Objetos e Classes em Java Revisão Classes: encapsulam dados (atributos) e operações sobre os dados (métodos) Objetos: instâncias de

Leia mais

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

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis Estruturas de Seleção if... else Operador condicional (? : ) switch Aula de Hoje Estruturas de Repetição: while/do... while/for

Leia mais

Atributos e Métodos Estáticos

Atributos e Métodos Estáticos Atributos e Métodos Estáticos Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marciobueno.com Fonte: Material da Profª Karina Oliveira Atributos Estáticos Atributos

Leia mais

Linguagem de Programação III

Linguagem de Programação III Linguagem de Programação III Aula-5 Estruturas de Decisão e Controle. Arrays em Java Prof. Esbel Tomás Valero Orellana Até Aqui Modelos e POO Classes e sua implementação em Java Encapsulamento Tipos de

Leia mais

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

Programação OO em Java. Profa Andréa Schwertner Charão DELC/CT/UFSM Programação OO em Java Profa Andréa Schwertner Charão DELC/CT/UFSM Sumário Herança Visibilidade de atributos e métodos Extensão e sobreposição Uso de super Referências para objetos Polimorfismo Conceitos

Leia mais

Programação. Orientada a Objetos: Herança. Objetos. Relacionamento entre classes. Análise e Projeto Orientados a. Objetos

Programação. Orientada a Objetos: Herança. Objetos. Relacionamento entre classes. Análise e Projeto Orientados a. Objetos Programação Orientada a Objetos: Herança Alexandre César Muniz de Oliveira Análise e Projeto Orientados a Objetos A análise orientada a objetos Determina o que o sistema deve fazer: Quais os atores envolvidos?

Leia mais

Desenvolvimento Web TCC-00.226 Turma A-1

Desenvolvimento Web TCC-00.226 Turma A-1 Desenvolvimento Web TCC-00.226 Turma A-1 Conteúdo Orientação a Objetos Professor Leandro Augusto Frata Fernandes laffernandes@ic.uff.br Material disponível em http://www.ic.uff.br/~laffernandes/teaching/2013.2/tcc-00.226

Leia mais

Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga

Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga Professora Sheila Cáceres Sobrecarga (overloading) Na mesma classe podemos definir vários métodos com o mesmo nome Sobrecarga O tipo

Leia mais

Análise de Programação

Análise de Programação Análise de Programação Fundamentos da Linguagem de Programação Java Prof. Gilberto B. Oliveira Variáveis Atributos: Variáveis Declaradas fora de um método, sem o modificador static Variáveis membro ou

Leia mais

Declaração de Construtores em Java

Declaração de Construtores em Java Programando com Java Artigo http://mballem.wordpress.com/ Declaração de Construtores em Java Para que serve e como usar um Construtor em Java Autor Marcio Ballem: é formado em Sistemas de Informação e

Leia mais

Polimorfismo. O que é polimorfismo?

Polimorfismo. O que é polimorfismo? O que é polimorfismo? Polimorfismo Significa que variáveis podem referenciar mais do que um tipo. Não é um conceito novo e várias linguagens de programação aplicam. Funções são polimórficas quando seus

Leia mais

Linguagem de Programação II Implementação

Linguagem de Programação II Implementação Linguagem de Programação II Implementação Prof. Alessandro Borges 2 Tópicos Implementação em Java Variáveis Palavras reservadas Pacotes Identificador this Acessando membros de outros objetos API Java Nossa

Leia mais

Linguagem de Programação. Diagrama de classes

Linguagem de Programação. Diagrama de classes Linguagem de Programação Diagrama de classes Joyce França Professora de Ciência da Computação - IFNMG 2 Agenda Diagrama de classes Herança Associação Agregação Exercícios 3 Diagrama de classes Mostra um

Leia mais

Sabemos que a classe é responsável por definir a estrutura e o comportamento de seus objetos. Portanto, os objetos são instâncias das classes.

Sabemos que a classe é responsável por definir a estrutura e o comportamento de seus objetos. Portanto, os objetos são instâncias das classes. JAVA ENCAPSULAMENTO Na linguagem de programação Java, a classe é o alicerce para o encapsulamento, o qual é definido como uma técnica que faz com que os atributos da classe permaneçam ocultos, pois desta

Leia mais

Programação Orientada a Objetos. SANTOS, Rafael (PLT) e Guia de Estudo SCJP. SIERRA, Kathy e BATES, Bert

Programação Orientada a Objetos. SANTOS, Rafael (PLT) e Guia de Estudo SCJP. SIERRA, Kathy e BATES, Bert Programação Orientada a Objetos. SANTOS, Rafael (PLT) e Guia de Estudo SCJP. SIERRA, Kathy e BATES, Bert Há situações em que não deve haver instâncias de determinadas classes Há modelos incompletos que

Leia mais

Herança. Fátima L. S. Nunes Luciano A. Digiampietri Norton T. Roman SISTEMAS DE INFORMAÇÃO 1

Herança. Fátima L. S. Nunes Luciano A. Digiampietri Norton T. Roman SISTEMAS DE INFORMAÇÃO 1 Herança Fátima L. S. Nunes Luciano A. Digiampietri Norton T. Roman 1 1 1 Motivação Você está desenvolvendo um sistema de gerenciamento de pessoal para a USP Precisa fazer: Cadastro de alunos e professores

Leia mais

Programação 2012/2013 1º Semestre MEEC Laboratório 2 Semana de 22 de Outubro de 2012

Programação 2012/2013 1º Semestre MEEC Laboratório 2 Semana de 22 de Outubro de 2012 Programação 2012/2013 1º Semestre MEEC Laboratório 2 Semana de 22 de Outubro de 2012 1. Implemente os programas cujos fluxogramas foram definidos na aula de problemas da semana passada: Exercício 7- Calculo

Leia mais

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 5 Conversão de Tipos Polimorfismo O Modificador final O Modificador

Leia mais

POO29004 Programação Orientada a Objetos

POO29004 Programação Orientada a Objetos POO29004 Programação Orientada a Objetos Classe abstrata, interface e polimorfismo Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/poo

Leia mais

Métodos Genéricos. Prof.: Michele Nasu Tomiyama Bucci

Métodos Genéricos. Prof.: Michele Nasu Tomiyama Bucci Métodos Genéricos Prof.: Michele Nasu Tomiyama Bucci Introdução Métodos genéricos e classes genéricas (e interfaces) permitem especificar, com uma única declaração de método, um conjunto de métodos relacionados

Leia mais

final class UltimosDiasMeses{ static final int[] DIAS_DO_MES = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; }

final class UltimosDiasMeses{ static final int[] DIAS_DO_MES = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; } Fundação CECIERJ - Vice Presidência de Educação Superior a Distância Curso de Tecnologia em Sistemas de Computação Disciplina: Programação Orientada a Objetos AP1 1 semestre de 2017. Nome Assinatura Observações:

Leia mais

Linguagem de Programação II Herança

Linguagem de Programação II Herança Linguagem de Programação II Herança Prof. Alessandro Borges 2 Tópicos Reutilização de classes Delegação Herança Definição Superclasse e Subclasse A palavra reservada extends Método construtor com herança

Leia mais

Módulo 5. Programação Orientada a Objetos. Programação Orientada a Objetos I Java (Rone Ilídio)

Módulo 5. Programação Orientada a Objetos. Programação Orientada a Objetos I Java (Rone Ilídio) Módulo 5 Programação Orientada a Objetos Programação Orientada a Objetos I Java (Rone Ilídio) Programação Orientada a Objetos Registro em Pascal: Type Cliente = Record Nome: String; Telefone: String; Idade:

Leia mais

Ex: carro_desportivo poderá ser uma subclasse de automóvel (carro_desportivo é_um automóvel)

Ex: carro_desportivo poderá ser uma subclasse de automóvel (carro_desportivo é_um automóvel) Herança capacidade de uma classe (subclasse) herdar, adquirir atributos e funcionalidades de outra classe (superclasse), podendo juntar algumas especificidades e/ou alterar outras. Existe uma relação tipo

Leia mais

Aula 10 POO 1 Classes Abstratas. Profa. Elaine Faria UFU

Aula 10 POO 1 Classes Abstratas. Profa. Elaine Faria UFU Aula 10 POO 1 Classes Abstratas Profa. Elaine Faria UFU - 2019 Problema Método obterarea()? Classes Abstratas Classes que funcionam como um molde Declarada com comando abstract Contém um ou mais métodos

Leia mais