Programação Orientada pelos Objetos B. Desenvolvimento orientado pelos objectos

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

Download "Programação Orientada pelos Objetos B. Desenvolvimento orientado pelos objectos"

Transcrição

1 Programação Orientada pelos Objetos B Desenvolvimento orientado pelos objectos

2 2 Slides elaborados pelos Professores Miguel Goulão e Adriano Lopes, no âmbito do ensino da programação orientada pelos objectos

3 O que é um pacote (package)? 3 Um pacote é um espaço de nomes que organiza um conjunto de classes e interfaces relacionadas Conceptualmente semelhante às pastas que temos nos nossos computadores Os pacotes são uma forma de organizar as classes Uma aplicação pode ser composta por milhares de classes A plataforma do Java tem uma vasta biblioteca com milhares classes

4 O que é um pacote (package)? 4 Referências a um pacote No ficheiro da classe ou interface do pacote package packagename; package mainpackage.subpackage; No ficheiro onde é utilizada a classe ou interface do pacote import packagename.someclass; import mainpackage.subpackage.anotherclass; Quando o membro duma classe é declarado sem public nem private, possui visibilidade package level : visivel por todas as classes dessa package e nenhum fora excepto em cenários de herança, a detalhar numa aula futura

5 5 Como representar as entidades? Até agora, temos usado classes Porém, Java oferece algo mais flexível: interfaces Em Java, as interfaces representam uma entidade independentemente de qualquer implementação As classes representam uma implementação concreta, específica, dessa entidade

6 Assinatura de um método 6 A Assinatura de um método é constituída por: Nome do método Número, tipo e ordem dos parâmetros Clausulas throws sobre excepções O tipo do resultado não faz parte da assinatura Em Java, os métodos são identificados pelas suas assinaturas Podem existir vários métodos com o mesmo nome, desde que com assinaturas diferentes Habitual: vários construtores com listas de argumentos distintas

7 Protocolo 7 Protocolo de um objecto é o conjunto das assinaturas dos seus métodos públicos Determina o reportório de mensagens que esse método entende Um objecto suporta um determinado protocolo se definir todos os métodos públicos previstos nesse protocolo (pode definir outros, além desses)

8 As interfaces Java 8 Uma interface Java representa todos os objectos que suportam um dado protocolo e que sejam instâncias de classes que declarem explicitamente implementar essa interface Ao contrário do que acontece com as classes, as interfaces não fornecem uma implementação O conceito de interface está associado a princípios de abstracção, os quais são fundamentais para a programação orientada pelos objectos

9 Abstracção 9 Abstracção significa que os detalhes de implementação são escondidos dentro de uma unidade do programa com uma determinada interface. No caso dos objectos, a interface normalmente consiste num conjunto de métodos públicos que manipulam dados ocultos da implementação Ou seja, a abstracção envolve restringir o acesso a um determinado componente do nosso programa através da sua interface

10 Definição de uma interface em Java 10 Sintaxe public interface interfacename { // constantes // assinaturas de métodos } Exemplo public interface IntegerSet { int size(); int get(int i); int add(int n); boolean belongs(int n); IntegerSet union(integerset union); } Os métodos das interfaces Java são sempre abstractos e públicos

11 Interface vs. Classe 11 Todos os métodos de uma interface são abstractos Têm nome, parâmetros, tipo de retorno, mas não têm uma implementação Todos os métodos de uma interface são públicos Uma interface não tem variáveis de instância Podem ter membros static Ao contrário do que acontece com as classes, não se pode instanciar uma interface (i.e., usar new) Lembrar: as classes, além de serem fábricas de objectos, também são tipos. Interfaces também são tipos. Mas não são fábricas.

12 Implementação de uma interface em Java 12 Sintaxe public class classname implements interfacename { // atributos e constantes // métodos } Classe tem de implementar todos os métodos da interface: public class IntegerSetClass implements IntegerSet { // atributos e constantes public int size() {... } public int get(int i) {... } public int add(int n) {... } public boolean belongs(int n) {...} public IntegerSet union(integerset union) {...} }

13 Utilização de classes e interfaces Escrever a interface que captura o protocolo pretendido para os objectos 2. Escrever a classe que implementa a interface definida no ponto anterior 3. Usar o nome da interface como tipo, para declarar variáveis, parâmetros e resultados, e o nome da classe apenas para a instanciação (ao criar objectos com o operador new)

14 Erros típicos com interfaces 14 Esquecermo-nos de implementar métodos na classe que implementa a interface como public Os métodos de uma interface não se declaram públicos explicitamente, porque já são públicos, por omissão Numa classe, pelo contrário, a visibilidade de um método não é public por omissão, mas sim restrita ao respectivo pacote (package) Implementar com visibilidade do pacote reduziria a visibilidade do método, definida na interface como public public class IntegerSetClass implements IntegerSet { int size() {...} // ERRADO! Deveria ser público! }

15 Erros típicos com interfaces 15 Tentar instanciar uma interface: Podemos definir variáveis cujo tipo é uma interface IntegerSet s; // (no exemplo, IntegerSet é uma interface) Nunca podemos instanciar uma interface IntegerSet s = new IntegerSet(); // ERRADO! Sempre que um objecto é declarado como sendo do tipo de uma interface, esse objecto pertence a uma classe que implementa essa interface IntegerSet s = new IntegerSetClass(); //

16 16 The Uma rede social para descobrir a essência dos seus amigos. Serão eles inteligentes, estúpidos, anjinhos, ou bandidos?

17 Documento de partida O que é o? 17 Imagine uma rede social onde pode votar, para cada acção de cada um dos seus amigos, se considera que ela é boa, ou má, para o seu amigo e boa, ou má, para os outros que sentem as consequências dessa acção Nesta rede social, todos podem votar nas acções de todos Os votos acumulados permitem construir o perfil das pessoas

18 Documento de partida Fulano de tal é inteligente? 18 Fulano de tal fez frito e cozido Bom para ele? Bom para os outros? Bom para os outros Inteligente Mau para fulano de tal Bom para fulano de tal Mau para os outros

19 Documento de partida Fulano de tal é inteligente? 19 Fulano de tal fez frito e cozido Bom para ele? Bom para os outros? Bom para os outros Mau para fulano de tal Bom para fulano de tal Bandido Mau para os outros

20 Documento de partida Fulano de tal é inteligente? 20 Fulano de tal fez frito e cozido Bom para ele? Bom para os outros? Anjinho Bom para os outros Mau para fulano de tal Bom para fulano de tal Mau para os outros

21 Documento de partida Fulano de tal é inteligente? 21 Fulano de tal fez frito e cozido Bom para ele? Bom para os outros? Bom para os outros Mau para fulano de tal Bom para fulano de tal Estúpido Mau para os outros

22 Documento de partida O que é o? 22 Cada pessoa no pode ter várias acções, cada uma delas votadas individualmente A média das votações em cada acção determina se o perfil de uma pessoa é visto como inteligente, estúpido, anjinho ou bandido; é possível consultar essa informação sobre qualquer pessoa A pessoa mais aborrecida é a pessoa cujas acções são o mais neutras possível Ou seja, cujo efeito médio das acções, para si própria e para os outros, seja o mais próximo de 0 (nem positiva, nem negativa) Podemos listar pessoas com determinado perfil

23 Documento de partida Construção da personalidade 23 Pessoa faz acções Cada vez que alguém vota numa dessas acções, indica se considera se a acção foi Boa, ou má, para quem a praticou Boa, ou má, para os outros Os votos vão-se acumulando Se houver mais votos bons que maus para o próprio, ou pelo menos igual número, considera-se a acção boa para o próprio Raciocínio semelhante, nos votos para os outros A média das votações determina a personalidade

24 Documento de partida Traço de execução 24 >Novo >Adiciona Fulano >Adiciona Beltrano >Adiciona Cicrano >Adiciona Beltrano Beltrano já existe >Faz Fulano Lava pratos >Faz Fulano Jardinagem >Adiciona Mais Um >Remove Mais Um >Faz Fulano Lava pratos Fulano já Lava pratos >Faz Beltrano Pinta grafitti >Faz Cicrano Pinta grafitti >Vota Fulano Lava pratos Bem Mal >Vota Fulano Lava pratos Bem Bem >Vota Fulano Lava pratos Bem Bem >Vota Fulano Jardinagem Bem Bem >Vota Beltrano Lava pratos Bem Bem Beltrano não Lava pratos >Vota Beltrano Pinta grafitti Mal Mal >Lista Inteligente Fulano >Personalidade Beltrano Estúpido >Aborrecido Cicrano >Sair Adeus

25 Identificando as acções do sistema Documento de partida 25 Imagine uma rede social onde pode votar, para cada acção de cada um dos seus amigos, se considera que ela é boa, ou má, para o seu amigo e boa, ou má, para os outros que sentem as consequências dessa acção Nesta rede social, todos podem votar nas acções de todos Os votos acumulados permitem construir o perfil das pessoas Cada pessoa no pode ter várias acções, cada uma delas votadas individualmente A média das votações em cada acção determina se o perfil de uma pessoa é visto como inteligente, estúpido, anjinho ou bandido; é possível consultar essa informação sobre qualquer pessoa A pessoa mais aborrecida é pessoa cujas acções são o mais neutras possível Ou seja, cujo efeito médio das acções, para si própria e para os outros, seja o mais próximo de 0 (nem positiva, nem negativa) Podemos listar pessoas com determinado perfil Acções do sistema: Criar rede social Criar pessoa Remover pessoa Criar acção Votar em acção Consultar personalidade Descobrir mais aborrecido Listar pessoas por perfil Sair

26 Documento de partida Comandos a disponibilizar 26 Novo (Criar rede social) Cria um novo, que começa por estar vazio Adiciona amigo (Criar pessoa) Acrescenta um novo amigo ao ; se já existir, não faz nada Informação que caracteriza o amigo: nome Remove amigo (Remover pessoa) Remove um amigo do ; se não existir, não faz nada Informação que caracteriza o amigo: nome

27 Documento de partida Comandos a disponibilizar 27 Acção (Criar acção) Adiciona uma nova acção ao amigo Informação que caracteriza o amigo: nome Informação que caracteriza a acção: descrição Vota (Votar em acção) Vota numa determinada acção de um amigo Informação que caracteriza o amigo: nome Informação que caracteriza a acção: descrição, impacto no próprio e impacto nos outros Ao votar, ou se considera uma acção benéfica, ou prejudicial

28 Documento de partida Comandos a disponibilizar 28 Personalidade (Consultar personalidade) Consultar a personalidade de uma pessoa Informação que caracteriza a consulta: nome da pessoa Aborrecido (Descobrir mais aborrecido) Lista a pessoa mais aborrecida no Lista amigos (Listar pessoas por perfil) Lista todos os amigos com um determinado traço de personalidade dominante (por exemplo, lista todos os anjinhos) Informação que caracteriza a listagem: traço de personalidade comum às pessoas listadas Sair Termina o programa

29 Documento de partida Traço de execução 29 >Novo >Adiciona Fulano >Adiciona Beltrano >Adiciona Sicrano >Adiciona Beltrano Beltrano já existe >Faz Fulano Lava pratos >Faz Fulano Jardinagem >Adiciona Mais Um >Remove Mais Um >Faz Fulano Lava pratos Fulano já Lava pratos >Faz Beltrano Pinta grafitti >Faz Sicrano Pinta grafitti >Vota Fulano Lava pratos Bem Mal >Vota Fulano Lava pratos Bem Bem >Vota Fulano Lava pratos Bem Bem >Vota Fulano Jardinagem Bem Bem >Vota Beltrano Lava pratos Bem Bem Beltrano não Lava pratos >Vota Beltrano Pinta grafitti Mal Mal >Lista inteligente Fulano >Personalidade Beltrano Estúpido >Aborrecido Sicrano >Sair Adeus Acções do sistema: Criar rede social Criar pessoa Remover pessoa Criar acção Votar em accção Consultar personalidade Descobrir mais aborrecido Listar pessoas por perfil Sair

30 Documento de partida Entidades 30 Main Ler comandos Action Votar Obter descrição Obter benefício próprio acumulado Obter benefício alheio acumulado Tem 1 Tem várias Novo Adicionar pessoa Remover pessoa Adicionar acção Votar acção Consultar personalidade Listar pessoas Encontrar o mais aborrecido Tem várias Person Adicionar acção Votar acção Obter nome Obter personalidade Obter nível de aborrecimento

31 31 Implementando Como tirar partido das interfaces Java na resolução deste problema?

32 Documento de partida Esqueleto da classe Main 32 public class Main { // Comandos do utilizador private static final String QUIT = "Sair"; private static final String LIST = " Listar"; //... // Feedback dado pelo programa private static final String PROMPT = "> "; //... public static void main(string[] args) { //... interpreter(); } //...

33 Documento de partida Esqueleto da classe Main 33 } private static void interpreter() { fb = new Class(); Scanner in = new Scanner(System.in); String command = getcommand(in); while (!command.equalsignorecase(main.quit)) { //... Interpretar comandos aqui... command = Main.getCommand(in); } System.out.println(Main.BYE); } private static String getcommand (Scanner in) { // Mostrar opções do menu System.out.print(Main.PROMPT); return in.nextline(); }

34 Documento de partida Interface 34 public interface { // Constantes com códigos static final int OK = 0; static final int NO_FRIEND = -1; static final int NO_ACTION = -2; } void reset(); boolean addfriend(string name); boolean removefriend(string name); int dosomething(string name, String description); boolean vote(string name, String description, boolean goodforperson, boolean goodforothers); String mostboringfriend(); String personality(); PersonIterator iterator();

35 35 Esqueleto da classe Class public class Class implements { private static final int DEFAULT = 10; private Person[] friends; private int counter; private int current; Documento de partida public Class(){...} public void reset() {...} public boolean addfriend(string name) {...} public boolean removefriend(string name) {...} public int dosomething(string name, String description) {...} // continua...

36 36 Esqueleto da classe Class // Continuação da implementação Documento de partida public boolean vote(string name, String description, boolean goodforperson, boolean goodforothers){...} public String mostboringfriend() {...} public String personality(string name) {...} //Criação do iterador escondida do exterior da classe: public PersonIterator iterator() { return new PersonIterator(friends, counter); } // Métodos auxiliares: logo, são privados private int indexof(string name) {...} }

37 Documento de partida Interface Action 37 public interface Action { void vote(boolean goodforperson, boolean goodforothers); String getdescription(); int getselfbenefit(); int getotherbenefitscore(); }

38 Documento de partida Esqueleto da classe ActionClass 38 public class ActionClass implements Action { private String description; private int selfbenefitscore; private int otherbenefitscore; public ActionClass(String description){...} public void vote(boolean goodforperson, boolean goodforothers){...} public String getdescription(){...} public int getselfbenefit(){...} } public int getotherbenefitscore(){...}

39 Documento de partida Interface Person 39 public interface Person { // Constantes de perfis de personalidade static final int INTELLIGENT = 0; static final int ANGEL = 1; static final int BANDIT = 2; static final int STUPID = 3; } // Métodos da interface boolean addaction(string description); boolean vote(string description, boolean goodforperson, boolean goodforothers); String getname(); int getpersonality(); double getboredom();

40 Documento de partida Esqueleto da classe PersonClass 40 public class PersonClass implements Person { // Constantes INTELLIGENT, ANGEL, BANDIT e STUPID private String name; private Action[] myactions; private int counter; public PersonClass(String name) {...} public boolean addaction(string description) {...} public boolean vote(string description, boolean goodforperson, boolean goodforothers) {...} public String getname() {...} public int getpersonality(){...} } public double getboredom() {...}

41 Documento de partida Classe PersonIterator 41 public class PersonIterator { private Person[] friends; private int counter; private int current; // Travessia só avança se!= -1 } //Construtor com visibilidade mais restrita //para limitar tanto quanto possível o seu acesso PersonIterator(Person[] friends, int counter) { this.friends = friends; this.counter = counter; initialize(); } public void initialize() { if (counter!= 0) current = 0; else current = -1; } //...

42 Documento de partida Classe PersonIterator 42 public class PersonIterator { private Person[] friends; private int counter; private int current; // Travessia só avança se!= -1 //... public Person next() { Person next = null; if (hasnext()) next = friends[current++]; return return next; } public boolean hasnext() { return (current >= 0 && (current < counter)); } }

43 43 Implementação de interfaces e documentação

44 Documento de partida Implemente as suas classes 44 Escolha uma ordem que facilite o ensaio incremental da sua aplicação Evite deixar pontas soltas Lembre-se sempre da regra da versão estável Vá comentando o seu código à medida que o escreve A experiência mostra que comentários deixados para o fim acabam por não ser feitos, ou são feitos à pressa Comentar o cabeçalho dos métodos antes de os desenvolver obriga-o a pensar no que tem de fazer, antes de os começar a programar

45 Convenções de documentação 45 Escreva a documentação para as pessoas que vão ter de usar o seu código e mantê-lo Documente cuidadosamente a interface pública do seu código para que outros o possam usar de forma correcta e eficiente Documente cuidadosamente a interface privada e os detalhes de implementação internos, para que outros possam manter e melhorar o seu código

46 Três tipos de comentário, em Java 46 Comentário de documentação Começa em /** e termina em */ Comentário standard (estilo emprestado do C) Começa em /* e termina em */ Comentário de uma linha Começa em // e termina no fim da linha

47 Convenções de documentação 47 Assuma sempre que alguém completamente estranho ao seu código o vai ter de entender, mais cedo ou mais tarde! Se passar tempo suficiente, até o autor de código mal documentado terá dificuldade em o compreender Mantenha o seu código e comentários sincronizados Ambos fazem parte do produto, não menospreze nenhum dos dois Seja claro, conciso e preciso

2 Vectores de objectos

2 Vectores de objectos 2 Vectores de objectos Agenda de contactos 3 Objectivo Manipular uma agenda de contactos. Descrição e Funcionalides Cada contacto na agenda caracteriza-se por um nome, um telefone e um e-mail. Na agenda,

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

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

Orientação a Objetos AULA 09

Orientação a Objetos AULA 09 Orientação a Objetos AULA 09 Prof. Fabrício Martins Mendonça Conteúdo da Aula ü Coleções ü Coleções lista de objetos ü Coleções conjuntos 2 Coleções Podemos armazenar vários objetos em um array e este

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

Aula 5 POO 1 Encapsulamento. Profa. Elaine Faria UFU

Aula 5 POO 1 Encapsulamento. Profa. Elaine Faria UFU Aula 5 POO 1 Encapsulamento Profa. Elaine Faria UFU - 2019 Sobre o Material Agradecimentos Aos professores José Gustavo e Fabiano, por gentilmente terem cedido seus materiais. Os slides consistem de adaptações

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 7: Interfaces LEEC@IST Java 1/31 Interfaces revisão (1) Uma interface é um conjunto de protótipos de métodos (sem implementações) que especifica um serviço bem definido:

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

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

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

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

Iteradores. Iteradores. Isabel Harb Manssour. Roteiro. Coleções

Iteradores. Iteradores. Isabel Harb Manssour. Roteiro. Coleções Implementação de Genéricos, Iteradores Isabel Harb Manssour Porto Alegre, maio de 2006 Roteiro Implementação de Genéricos Coleções Conceito de Genérico Implementação Iteradores Conceito Utilização ForEach

Leia mais

Padrões de Projeto. Padrões de Projeto. Além dos 23 Padrões GoF. Os 23 Padrões de Projeto. Documentação de um Padrão. Classificação dos Padrões

Padrões de Projeto. Padrões de Projeto. Além dos 23 Padrões GoF. Os 23 Padrões de Projeto. Documentação de um Padrão. Classificação dos Padrões DCC / ICEx / UFMG Padrões de Projeto Padrões de Projeto Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Um padrão é uma descrição do problema e a essência da sua solução Documenta boas soluções para

Leia mais

Palavras Reservadas da Linguagem Java

Palavras Reservadas da Linguagem Java Palavras Reservadas da Linguagem Java Palavras Reservadas da Linguagem Java: Categorias Tipos de dados primitivos Literais Pseudo-variáveis Desvio e controle de fluxo Pacotes Exceções Modificadores de

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

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

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

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

Programação Java. - Classes, Objetos, Atributos e Métodos - Marco Fagundes Marco Fagundes -

Programação Java. - Classes, Objetos, Atributos e Métodos - Marco Fagundes Marco Fagundes - Programação Java - Classes, Objetos, Atributos e Métodos - Marco Fagundes mfagundes@tre-pa.gov.br 1 Tópicos Programação Orientada a Objetos Classes e Objetos Definindo e Instanciando Classes Atributos

Leia mais

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java Guia da Sintaxe do Java TIPOS PRIMITIVOS DE DADOS DO JAVA São os tipos nativos de dados do Java, que podem ser usados na declaração de atributos, variáveis, parâmetros. Tipo primitivo Tamanho Valor padrão

Leia mais

Classes o Objetos. Classes, objetos, métodos e variáveis de instância

Classes o Objetos. Classes, objetos, métodos e variáveis de instância Classes o Objetos Um recurso comum de cada aplicativo feito até agora é que todas as instruções que realizavam tarefas localizavam-se no método main. Se você tornar parte de uma equipe de desenvolvimento

Leia mais

Unidade 7: Documentação de Código A Importância dos Comentários Prof. Daniel Caetano

Unidade 7: Documentação de Código A Importância dos Comentários Prof. Daniel Caetano Linguagem de Programação 1 Unidade 7: Documentação de Código A Importância dos Comentários Prof. Daniel Caetano Objetivo: Desenvolver a habilidade de comentar código adequadamente INTRODUÇÃO Até o momento

Leia mais

Interfaces POO. Prof. Marcio Delamaro

Interfaces POO. Prof. Marcio Delamaro Interfaces POO Prof. Marcio Delamaro Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 1/41 O que é interface É um template de classe Outras classes podem seguir esse template Chamamos isso

Leia mais

Programação Orientada a Objetos

Programação Orientada a Objetos Programação Orientada a Objetos Engenharia da Computação Professor: Rosalvo Ferreira de Oliveira Neto Dados Pessoais Rosalvo Ferreira de Oliveira Neto MSc. em ciência da computação (UFPE) rosalvo.oliveira@univasf.edu.br

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

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

Nome: Nº. Sem consulta

Nome: Nº. Sem consulta 1º Teste Programação Orientada por objetos 2014/15 Aulas Teórica de 16 de Abril de 2015 Departamento de Informática Universidade Nova de Lisboa (duração 1h30 minutos) Sem consulta Leia com atenção a informação

Leia mais

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas

UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 5 Pilhas UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA Pilhas Estrutura de Dados A Estrutura de Dados Pilha Pilha é uma estrutura de dados usada em programação, que tem uma regra

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

Programação Orientada a Objetos II Java Segunda aula. Prof. Rogério Albuquerque de Almeida

Programação Orientada a Objetos II Java Segunda aula. Prof. Rogério Albuquerque de Almeida Programação Orientada a Objetos II Java Segunda aula 1 Programação Orientada a Objeto II Tipos de Dados e Variáveis Operadores Operadores aritméticos Operadores relacionais Operadores lógicos Operadores

Leia mais

Instituto Superior de Engenharia de Lisboa

Instituto Superior de Engenharia de Lisboa Instituto Superior de Engenharia de Lisboa Introdução à Programação (PG) Docente: Pedro Viçoso Fazenda (pfazenda@cedet.isel.ipl.pt) Professor Responsável: Pedro Alexandre Pereira (palex@cc.isel.ipl.pt)

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

Linguagem de programação Java

Linguagem de programação Java Instituto Federal de Minas Gerais Campus Ponte Nova Linguagem de programação Java Professor: Saulo Henrique Cabral Silva ENTENDENDO O JAVA 2 Entendendo o Java executando... A instância da JVM irá iniciar

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 5: Associações LEEC@IST Java 1/32 Associação revisão Uma associação representa uma referência entre objectos. Numa associação são definidos: Identificador termo descritivo

Leia mais

POO Programação Orientada a Objetos

POO Programação Orientada a Objetos POO Programação Orientada a Objetos Prof. Vicente Paulo de Camargo PUCGO O CONTEÚDO DOS SLIDES FAZ REFERÊNCIA AO MATERIAL DA APOSTILA K19-K11 E DO LIVRO JAVA USE A CABEÇA E DO LIVRO JAVA COMO PROGRAMAR

Leia mais

Sobrecarga. Algoritmos e Programação II. Aula 3 Sobrecarga

Sobrecarga. Algoritmos e Programação II. Aula 3 Sobrecarga Algoritmos e Programação II Aula 3 Sobrecarga *Adaptado do material do Prof. Júlio Machado Sobrecarga Em várias linguagens é comum encontrarmos rotinas que fazem basicamente a mesma coisa, porém, com nomes

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

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

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

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação 4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança

Leia mais

Classes e Objetos. Prof. Fernando V. Paulovich 9 de agosto de 2010

Classes e Objetos. Prof. Fernando V. Paulovich  9 de agosto de 2010 Classes e Objetos 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

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. 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

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Breakout Componentes do Breakout Bola Raquete Tijolos Paredes Score Nem todos vão precisar de classes próprias

Leia mais

Instituto Politécnico de Setúbal. Escola Superior de Tecnologia. Departamento de Sistemas e Informática. Guia para codificação em JAVA

Instituto Politécnico de Setúbal. Escola Superior de Tecnologia. Departamento de Sistemas e Informática. Guia para codificação em JAVA Instituto Politécnico de Setúbal Escola Superior de Tecnologia Departamento de Sistemas e Informática Guia para codificação em JAVA Disciplina de Introdução à Programação Ano Lectivo 2003/2004 CONTEÚDO

Leia mais

Departamento de Ciência de Computadores Estruturas de Dados (CC114)

Departamento de Ciência de Computadores Estruturas de Dados (CC114) 1. Cotação de cada pergunta: 1. 30 / 2. 40 / 3. 30 (Total: 100 pontos) 2. Responda às questões de forma clara e concisa nas folhas de exame distribuídas. 1. (Valorização: 30%) Responda às seguintes questões:

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

Notas de Aula 07: vetores de objetos e coleções

Notas de Aula 07: vetores de objetos e coleções Notas de Aula 07: vetores de objetos e coleções Objetivos da aula: Entender a sintaxe de vetores em Java Compreender o uso do vetor como um objeto Uso das coleções em Java Recordando... Na aula passada

Leia mais

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

Programação de Computadores para GI

Programação de Computadores para GI Programação de Computadores para GI Aula 05 Java - Identificadores Nomes que o programa manipula: variáveis, constantes, subprogramas e classes Não devem começar com números nem com _ Não existe tamanho

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

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

Programação Orientada por Objectos 2007/2008

Programação Orientada por Objectos 2007/2008 Programação Orientada por Objectos 2007/2008 Segundo Teste, 30/6/2008, Duração 1h30 (20 valores) 1 [2v] Considere que pretende desenvolver uma função num jogo que trata uma colisão entre dois objectos

Leia mais

Aula 4. TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 2014 Marcelo Henrique dos Santos -

Aula 4. TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 2014 Marcelo Henrique dos Santos - Programação Orientada a Objetos Aula 4 Programação Orientada a Objetos Entrada e Saída de Dados 1 O exemplo abaixo emprega o pacote Swing (javax.swing), que emprega componentes gráficos Java. //AloMundo

Leia mais

p Imagine que um Sistema de Controle do Banco pode ser acessado, além dos Gerentes, pelos Diretores do Banco

p Imagine que um Sistema de Controle do Banco pode ser acessado, além dos Gerentes, pelos Diretores do Banco 1 Expandindo o Sistema p Imagine que um Sistema de Controle do Banco pode ser acessado, além dos Gerentes, pelos Diretores do Banco class Diretor extends Funcionario { public boolean autentica(int senha)

Leia mais

4 TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

4 TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS Programação Orientada a Objetos Aula 4 Programação Orientada a Objetos Entrada e Saída de Dados GUI em Java: pacote Swing O exemplo abaixo emprega o pacote Swing (javax.swing), que emprega componentes

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

LEIC-A / MEIC-A 2007/2008 (1º

LEIC-A / MEIC-A 2007/2008 (1º 1/11 LEIC-A / MEIC-A 2007/2008 (1º Semestre) Teste (versão A) 08 de Janeiro de 2008, 09:00 (120 minutos) Nome: Primeira Parte (5 valores) PERGUNTA RESPOSTA 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 Segunda

Leia mais

Programação Orientada aos Objectos I

Programação Orientada aos Objectos I Programação Orientada aos Objectos I UEM Fevereiro 2014 Docente: eng a Tatiana Kovalenko AULA TEÓRICA 1 Tema 1. Introdução à POO Ø Revisão: POO. Classes e Objectos. Elaborado por eng.tatiana Kovalenko,

Leia mais

Tipos, Literais, Operadores

Tipos, Literais, Operadores Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não

Leia mais

Tipos, Literais, Operadores

Tipos, Literais, Operadores Tipos, Literais, Operadores Identificadores São palavras utilizadas para nomear variáveis, métodos e classes Na linguagem Java, o identificador sempre começa por letra, sublinhado(_) ou cifrão ($) Não

Leia mais

Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação

Ederson Luiz da Silva Ciência da Computação. Algoritmos e Programação Ederson Luiz da Silva Ciência da Computação Algoritmos e Programação Programação em C Características Criado na década de 70; Possui muitas regras em sintaxe e semântica; Utilizado para programação de

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

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

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

Conceitos de Programação Orientada a Objetos

Conceitos de Programação Orientada a Objetos Conceitos de Programação Orientada a Objetos Tatyana Bitencourt Com as técnicas de orientação a objeto, é possível obter resultados considerados impossíveis pensando de maneira estruturada. Como Java não

Leia mais

No final deste curso, saberás criar programas através da linguagem de programação Java.

No final deste curso, saberás criar programas através da linguagem de programação Java. Programação em Java Programação Formato: Mentored - Online Preço: 415 ( Os valores apresentados não incluem IVA. Oferta de IVA a particulares e estudantes. ) Horário: Flexível das 24h/24h Duração: ~45h

Leia mais

1. Estude e implemente a classe Exemplo1 apresentada abaixo:

1. Estude e implemente a classe Exemplo1 apresentada abaixo: P. Fazendeiro & P. Prata POO FP09/1 Exceções Uma exceção (Exception) é um sinal gerado pela máquina virtual de Java em tempo de execução indicando uma situação de erro da qual é possível recuperar. O objectivo

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

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

Relacionamentos entre objetos

Relacionamentos entre objetos Programação Orientada a Objetos Relacionamentos entre objetos Associação, composição e agregação Construtores t e sobrecarga Variáveis de classe e de instância Reinaldo Gomes reinaldo@cefet-al.br Objetos

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador)

Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça. Padrão Observer (Observador) Universidade Federal de Uberlândia Faculdade de Computação Programação Orientada a Objetos II Prof. Fabiano Dorça Problema: Definir uma dependência um-para-muitos entre objetos, de forma quando o estado

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

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

Tratamento de Erros. Sérgio Luiz Ruivace Cerqueira

Tratamento de Erros. Sérgio Luiz Ruivace Cerqueira Tratamento de Erros Sérgio Luiz Ruivace Cerqueira sergioruivace@gmail.com Agenda Introdução Try, catch, finally Unchecked Exceptions Como levantar exceções Boas práticas O problema Calculadora numero1:

Leia mais

A classe ArrayList. IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli

A classe ArrayList. IFSC/Florianópolis - Programação Orientada a Objetos com Java - prof. Herval Daminelli A classe ArrayList Java oferece uma classe chamada ArrayList, que permite a criação e manipulação de objetos; Um objeto ArrayList é semelhante a um vetor de objetos, mas oferece inúmeras vantagens em relaçã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

FCUP 2010/11. Departamento de Ciência de Computadores Estruturas de Dados (CC114) 1 o Teste: 27/Abril/2011

FCUP 2010/11. Departamento de Ciência de Computadores Estruturas de Dados (CC114) 1 o Teste: 27/Abril/2011 1 1 Departamento de Ciência de Computadores Estruturas de Dados (CC114) 1 o Teste: 27/Abril/2011 FCUP 2010/11 duração: 2 horas 1. Teste A (indicar o teste que estão a fazer na folha de resposta) 2. Cotação

Leia mais

Programação Estruturada e Orientada a Objetos. Objetos e Métodos

Programação Estruturada e Orientada a Objetos. Objetos e Métodos Programação Estruturada e Orientada a Objetos Objetos e Métodos 2013 O que veremos hoje? Objetos e Métodos Transparências baseadas no material do Prof. Jailton Carlos Objetivos Aprender a criar construtores;

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 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. Hierarquia de classes e mecanismo de ligação

Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Hierarquia de classes e mecanismo de ligação 4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança

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

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 Revisão Classes e Objetos Classes são uma das unidades básicas de um programa Java Usamos as classes para

Leia mais

Prof. Fernando V. Paulovich 8 de novembro de SCC Programação Orientada a Objetos

Prof. Fernando V. Paulovich  8 de novembro de SCC Programação Orientada a Objetos Coleções a Tipos Genéricos em Java 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

Leia mais

Programação Orientada a Objetos Relacionamentos entre classes

Programação Orientada a Objetos Relacionamentos entre classes Programação Orientada a Objetos Relacionamentos entre classes Prof. Vicente Paulo de Camargo RELACIONAMENTO ENTRE CLASSES Interface agregação Dependencia composição generalização associação RELACIONAMENTO

Leia mais

Strings e Arrays POO

Strings e Arrays POO Strings e Arrays POO Prof. Marcio Delamaro Programação Orientada a Objetos Prof Marcio Delamaro ICMC/USP 1/27 String Uma sequência de caracteres que representa uma informação textual Em Java existe um

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 Subtipagem e Coringas Lista é subtipo de Lista para qualquer T Não podemos chamar métodos em Lista

Leia mais

Genéricos. Profa. Thienne Johnson EACH/USP

Genéricos. Profa. Thienne Johnson EACH/USP Genéricos Profa. Thienne Johnson EACH/USP Java, como programar, 6ª edição Deitel & Deitel Capítulo 18 Material complementar http://wps.prenhall.com/br_deitel_comoprogra_6/ Todas as classes em Java herdam,

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

DIRETORIA ACADÊMICA DE GESTÃO E TECNOLOGIA DA INFORMAÇÃO DIATINF TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TADS

DIRETORIA ACADÊMICA DE GESTÃO E TECNOLOGIA DA INFORMAÇÃO DIATINF TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TADS DIRETORIA ACADÊMICA DE GESTÃO E TECNOLOGIA DA INFORMAÇÃO DIATINF TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TADS LISTA DE EXERCÍCIOS DE PROGRAMAÇÃO ORIENTADA A OBJETOS 1. Crie um modelo (classe)

Leia mais

Ficha Prática 10. António Nestor Ribeiro, Paulo Azevedo, Mário Martins PPIV (LESI) 2005/06

Ficha Prática 10. António Nestor Ribeiro, Paulo Azevedo, Mário Martins PPIV (LESI) 2005/06 Ficha Prática 10 António Nestor Ribeiro, Paulo Azevedo, Mário Martins {anr,pja,fmm@di.uminho.pt PPIV (LESI) 2005/06 Objectivos 1. Interfaces: declaração e utilização. 2. Interfaces como tipos de dados

Leia mais

ESQUEMA AULA PRÁTICA 1

ESQUEMA AULA PRÁTICA 1 P. Fazendeiro & P. Prata POO FP1/1 ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente JBuilder Introdução à Linguagem de Programação JAVA 0 Inicie o ambiente de desenvolvimento integrado JBuilder. Start

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

OO - Orientação a Objetos

OO - Orientação a Objetos OO - Orientação a Objetos 1 Motivação p Orientação a objetos é uma maneira de programar que ajuda na organização e resolve muitos problemas enfrentados pela programação procedural; p Imaginem em um grande

Leia mais