Algoritmos e Programação II. Sobrecarga
|
|
|
- Márcia Frade Barros
- 9 Há anos
- Visualizações:
Transcrição
1 Algoritmos e Programação II Baseado no Material do Prof. Júlio Machado Sobrecarga Em várias linguagens é comum encontrarmos rotinas que fazem basicamente a mesma coisa, porém, têm nomes distintos porque se diferenciam nos tipos dos parâmetros. Ex.: classe Acumulador Dois métodos adicionadouble e adicionaint. Ambos somam o valor recebido como parâmetro ao atributo de instância. public class Acumulador { private double valor; public Acumulador() { valor = 0; public double getvalor() { return(valor); public void adicionadouble(double n) { valor = valor + n; public void adicionaint(int n) { valor = valor + n; 1
2 Acumulador - valor: double + Acumulador ( ) + getvalor ( ): double + adicionadouble (n: double) + adicionaint (n: int) Programador necessita conhecer o nome de vários métodos que fazem a mesma tarefa! adicionadouble(3.1) valor = 1.5 valor = 4.6 adicionaint(2) valor = 1.5 valor = 3.5 Em Java, podemos criar os dois métodos com o mesmo nome! A condição é que tenham uma lista de parâmetros diferentes. public class Acumulador { public void adiciona(double n) { valor = valor + n; public void adiciona(int n) { valor = valor + n; Acumulador - valor: double + Acumulador ( ) + getvalor ( ): double + adiciona (n: double) + adiciona (n: int) Programador só necessita saber agora que a classe oferece a funcionalidade de adicionar valores de diversos tipos. adiciona(3.1) valor = 1.5 valor = 4.6 adiciona(2) valor = 1.5 valor = 3.5 2
3 Chama-se de sobrecarga de métodos (overloading) o ato de criar diversos métodos com o mesmo nome que se diferenciam pela lista de argumentos (parâmetros). Métodos são identificados pela sua assinatura: nome do método + lista de parâmetros. Métodos com mesmo nome, mas com tipo, quantidade ou ordenação de parâmetros diferentes, são considerados métodos diferentes. Cuidado!!! Esses métodos possuem uma definição correta para sobrecarga? public void soma(int n, double d) public void soma(double d, int n) ok public void soma(int n) public void soma(int v) public void soma(int n) public double soma(int n) Na API de Java, diversas classes utilizam a sobrecarga de métodos, por exemplo: Classe String valueof (boolean b) valueof (char c) valueof (double d) valueof (float f) valueof (int i) valueof (long l) retorna a representação em String do argumento recebido. 3
4 Classe Vector add(int indice, Object elemento) insere o elemento na posição indicada do vetor add(object elemento) insere o elemento no final do vetor remove(int indice) remove o elemento da posição indicada do vetor remove(object elemento) busca e remove a primeira ocorrência do elemento encontrada no vetor Sobrecarga de Construtores Usualmente é útil para uma classe possuir mais de um construtor a fim de oferecer diversas maneiras para instanciar e inicializar os objetos dessa classe. Um construtor também pode sofrer o processo de sobrecarga. Exemplo: classe Circulo Deseja-se ter a capacidade de inicializar os atributos de um novo objeto de duas formas: através de um construtor sem parâmetros, que cria um círculo padrão de centro (0,0) e raio 1, e através de um construtor que recebe as informações de centro e raio para criar o círculo. Circulo -centrox:int -centroy:int -raio:int +Circulo(x:int, y:int, r:int) +Circulo() +area():double +circunferencia():double +diametro():int 4
5 public class Circulo { private int centrox; private int centroy; private int raio; public Circulo(int x, int y, int r){ if (x >= 0) centrox = x; else centrox = 0; if (y >= 0) centroy = y; else centroy = 0; if (r > 0) raio = r; else raio = 1; public Circulo() { centrox = 0; centroy = 0; raio = 1; Testando a classe: public class TesteCirculo { public static void main (String args[]) { Circulo circ1 = new Circulo(); Circulo circ2 = new Circulo(1,2,4); System.out.println("Area circ1= " + circ1.area()); System.out.println("Area circ2= " + circ2.area()); Duas formas para instanciar objetos da classe Circulo. Estudo de Caso Classe Professor Definir construtores para: Inicializar um professor informando um nome, número de matrícula e carga horária; Inicializar um professor informando o nome e número de matrícula, com carga horária padrão de 12 horas semanais. Professor - nome: String - matricula: int - cargahoraria: int + setnome (n: String) + getnome ( ): String + setmatricula (m: int) + getmatricula( ): int + setcargahoraria (c: int) + getcargahoraria( ): int + getcargahorariamensal( ): float 5
6 Estudo de Caso: construtores 1 public class Professor { public Professor(String n, int m, int c) { setnome(n); setmatricula(m); setcargahoraria(c); public Professor(String n, int m) { setnome(n); setmatricula(m); setcargahoraria(12); Observando mais de perto a implementação dos dois construtores da classe Professor: Nota-se que o segundo construtor (o construtor com dois parâmetros) possui o mesmo código de inicialização do primeiro construtor (o construtor com três parâmetros). Repetir desnecessariamente código não é uma boa prática de programação. Java permite compartilhar código entre os diversos construtores!!! Palavra-chave this(). Estudo de Caso: construtores 2 public class Professor { public Professor(String n, int m, int c) { setnome(n); setmatricula(m); setcargahoraria(c); public Professor(String n, int m) { this(n,m,12); Um construtor pode chamar outro construtor da mesma classe utilizando a chamada this( ). Deve obrigatoriamente ser o primeiro comando do corpo de definição do construtor sobrecarregado. 6
7 Exercícios 1) Altere a classe Ponto, definida em um exercício anterior, para apresentar três construtores: um construtor sem parâmetros, que cria um ponto nas coordenadas (0,0), um construtor que recebe dois parâmetros de coordenadas X e Y, e um construtor que inicializa o ponto através das coordenadas de um outro ponto recebido como argumento. 2) Utilizando a classe Ponto, introduza novos métodos na classe Circulo, através da sobrecarga, para realizar as seguintes funções: - construir novos círculos através da informação de um ponto central e raio; - construir novos círculos através da informação de um ponto central e diâmetro; - mover um círculo para um novo ponto central qualquer. 3) Desenvolva um programa em Java para testar todos os novos métodos desenvolvidos no exercício anterior para a classe Circulo. 7
8 4) Você está desenvolvendo um sistema de cálculos matemáticos e se depara com um problema: a necessidade de utilização de números complexos. Solicitando ajuda de um matemático, você obtém as seguintes informações: - Números complexos possuem a forma parte real + parte imaginária * i como por exemplo 1+3i. - i representa a raiz quadrada de O número complexo resultante da soma é aquele cuja parte real é a soma das partes reais dos operandos, e a parte imaginária é a soma das partes imaginárias dos operandos. - O número complexo resultante da subtração é aquele cuja parte real é a diferença das partes reais dos operandos, e a parte imaginária é a diferença das partes imaginárias dos operandos. - Números complexos podem ser representados por extensão, como 1+3i, ou por uma forma resumida pelo par (parte real, parte imaginária), como (1,3). - Um número real a qualquer, é representado pelo número complexo (a,0). Modele e implemente as estruturas necessárias para a utilização de números complexos em um programa Java. Atributos e Métodos de Classe Java permite declarar duas categorias distintas de atributos e métodos: atributos de instância atributos de classe métodos de instância métodos de classe 8
9 Atributos de Classe Cada objeto de uma classe possui sua própria cópia de todos os atributos de instância da classe. Em certos casos, entretanto, é interessante que apenas uma cópia de um atributo em particular seja compartilhada por todos os objetos de uma classe. Exemplo: constantes da classe Math As constantes matemáticas E e PI são armazenadas em um única cópia e então compartilhadas. public class TestaMath { public static void main(string args[]) { System.out.println("PI = " + Math.PI); System.out.println("E = " + Math.E); Note que os atributos públicos não foram acessados a partir de um objeto! Os atributos foram acessados a partir do nome da classe! Atributos de Instância: Cada objeto possui uma cópia particular com seus valores. Representam o estado de um objeto em particular. Atributos de Classe: Cada classe possui uma única cópia do atributo, independente do número de objetos instanciados a partir da classe. Objetos compartilham os atributos de classe. São declarados pela palavra-chave static. Invocação <nome_classe>.<nome_atributo_público> 9
10 Exemplo: classe Circulo Nos métodos de cálculo da área e circunferência, percebe-se a presença de um valor importante em cálculos geométricos que se repete para todas as instâncias. Esse valor é a constante pi. Pode ser desejado manter somente uma cópia desse valor, com a aproximação desejada no número de suas casas decimais de uma forma consistente, impedindo que em um método seja utilizado o valor 3,14 e em outro 3,1415. PI será declarado como atributo de classe (static) e constante (final). public class Circulo { public static final double PI = 3.14; private int centrox; private int centroy; private int raio; public double area() { return (PI * raio * raio); public double circunferencia() { return (2 * PI * raio); Métodos de Classe Em muitos exemplos de classes pode-se notar alguns métodos que não acessam nenhum atributo de uma instância. Exemplo: funções trigonométricas da classe Math Os métodos sin, cos e tan recebem o valor do ângulo (em radianos) por parâmetro e devolvem o seno, cosseno ou a tangente correspondente calculados unicamente a partir do valor recebido. 10
11 public class Trigonometria { public static void main(string args[]) { System.out.println("Seno(45) = " + Math.sin(Math.PI/4)); System.out.println("Coseno(45) = " + Math.cos(Math.PI/4)); System.out.println("Tangente(45) = " + Math.tan(Math.PI/4)); Note que os métodos de cálculo não foram executados sobre um objeto! Métodos foram acessados pelo nome da classe! Métodos de Instância: Fornecem o comportamento dos objetos instanciados a partir de uma classe. Trabalham sobre os atributos de um objeto dessa classe. Métodos de Classe: Fornecem um comportamento que é independente da existência de objetos de uma classe. Pertencem à classe e são compartilhados por todas as instâncias da classe. Trabalham sobre os atributos de classe e valores recebidos por parâmetro. Indicados pela palavra-chave static. Invocação <nome_classe>.<nome_método>(<parâmetros>) Exemplo: classe Circulo O método equacaogeral será acrescentado à classe Circulo. Seu propósito é, a partir dos valores de centro e raio de um círculo, obter a representação textual da chamada equação geral da circunferência. public class Circulo { public String equacaogeral(int x, int y, int r) { //corpo omitido 11
12 Utilizando a definição em um exemplo: Circulo circulo1 = new Circulo(1,1,1); String eq = circulo1.equacaogeral(2,3,1); equacaogeral(2,3,1) circulo1:circulo x2 + y2-4x -6y + 12 = 0 O método equacaogeral realiza seu cálculo a partir dos valores recebidos como argumento, sem utilizar os atributos do objeto circulo1! Isso é um sinal de que o método deve ser implementado como um método de classe, pois é capaz de calcular a equação sem necessitar de um objeto círculo! public class Circulo { public static String equacaogeral(int x, int y, int r) { int a = -2 * x; int b = -2 * y; int c = (x*x) + (y*y) - (r*r); StringBuffer eq = new StringBuffer("x2 + y2"); if (a > 0) { eq.append(" + "); eq.append(a); eq.append("x"); else if (a < 0) { eq.append(" "); eq.append(a); eq.append("x"); if (b > 0) { eq.append(" + "); eq.append(b); eq.append("y"); else if (b < 0) { eq.append(" "); eq.append(b); eq.append("y"); if (c > 0) { eq.append(" + "); eq.append(c); else if (c < 0) { eq.append(" "); eq.append(c); eq.append(" = 0"); return eq.tostring(); 12
13 Utilizando a nova definição em um exemplo: String eq = Circulo.equacaoGeral(2,3,1); equacaogeral(2,3,1) Circulo x2 + y2-4x -6y + 12 = 0 O método é executado sem a criação de um objeto, pois o método é da classe e não de uma instância. Um exemplo completo: public class TesteCirculo { public static void main(string args[]) { Circulo circulo1 = new Circulo(2,3,1); System.out.println("Diametro do circulo1: " + circulo1.diametro()); System.out.println("Circunferencia do circulo1: " + circulo1.circunferencia()); System.out.println("Area do circulo1: " + circulo1.area()); System.out.println("Equacao de um circulo qualquer: " + Circulo.equacaoGeral(2,1,1)); Estudo de Caso 1 A famosa aplicação Alô Mundo : public class AloMundo { public static void main(string args[]) { System.out.println("Alo Mundo!"); 13
14 A classe AloMundo possui um método de classe, o método main. O método main é automaticamente invocado pela máquina virtual Java quando se executa a classe AloMundo. Ele é um método de classe pois não depende de nenhum objeto da classe AloMundo onde ele está declarado. A classe AloMundo referencia também um atributo de classe. A construção System.out.println() é na verdade o atributo de classe out da classe System, o qual guarda uma instância da classe PrintStream que possui um método de instância chamado println. Exercícios 1) Inclua na classe Circulo um método de instância para retornar a representação textual da equação geral de uma instância de Circulo. 2) Acrescente à classe Ponto, desenvolvida anteriormente, a capacidade de calcular a distância entre dois pontos. Para tal, é desejado o seguinte comportamento: - calcular a distância entre a instância do ponto e um outro objeto ponto qualquer; - calcular a distância entre a instância do ponto e um outro ponto dado pelas coordenadas X e Y; - calcular a distância entre dois pontos dadas as coordenadas X1, Y1 e X2, Y2. A distância entre dois pontos é calculada por ( x y x1 ) + ( y2 1) 14
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
Programação Orientada a Objetos com Java. Prof. Júlio Machado [email protected]
Programação Orientada a Objetos com Java Prof. Júlio Machado [email protected] INTRODUÇÃO Plataforma Java Java é tanto uma linguagem de programação de alto nível quanto uma plataforma de desenvolvimento
Herança. Algoritmos e Programação II. Aula 5 Herança
Algoritmos e Programação II Aula 5 Herança *Adaptado do material do Prof. Júlio Machado Herança Uma característica importante da programação orientada a objetos é permitir a criação de novas classes com
Implementando uma Classe e Criando Objetos a partir dela
Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe
Encapsulamento de Dados
Encapsulamento de Dados Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno [email protected] Fonte: Material da Profª Karina Oliveira Modificadores de Visibilidade Especificam
BC0505 Processamento da Informação
BC0505 Processamento da Informação Assunto: Modularização de código e passagem de parâmetros Aula Prática: 4 Versão: 0.2 Introdução Modularização No Java, como em outras linguagens de Programação Orientadas
Introdução a Java. Hélder Nunes
Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais
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 Introdução Esse não é um curso de Java! O objetivo é aprender os conceitos da programação orientada a objetos,
Desenvolvimento OO com Java Orientação a objetos básica
Desenvolvimento OO com Java Orientação a objetos básica Vítor E. Silva Souza ([email protected]) http://www.inf.ufes.br/~vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal
Análise de Programação
Análise de Programação Conceitos Avançados da Linguagem de Programação Java Prof Gilberto B Oliveira Encapsulamento Proteger o dado dentro de uma classe (capsula segura) Facilita o uso da classe por outros
Noções sobre Objetos e Classes
Noções sobre Objetos e Classes Prof. Marcelo Cohen 1. Elementos de programação Revisão de programação variáveis, tipos de dados expressões e operadores cadeias de caracteres escopo de variáveis Revisão
public void setdata(data d) { data = d;
class Data... public class Compromisso private Data data; private int hora; private String descricao; /**java.lang.string*/ public Compromisso() public Compromisso(Data data, int hora, String descricao)
Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery
Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em
Orientação a Objetos
1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou
O comando switch. c Professores de ALPRO I 04/2012. Faculdade de Informática PUCRS. ALPRO I (FACIN) O comando switch 04/2012 1 / 31
O comando switch c Professores de ALPRO I Faculdade de Informática PUCRS 04/2012 ALPRO I (FACIN) O comando switch 04/2012 1 / 31 Sumário 1 Relembrando... 2 Comando de Seleção (Parte III) Menus e o comando
insfcanceof new public switch transient while byte continue extends for int null
Palavras -chave de JAV A abstract catch do final implements long private static throw void boolean char double finally import native protected super throws volatile break class float insfcanceof new public
UNIP - Ciência da Computação e Sistemas de Informação. Estrutura de Dados. AULA 6 Filas
UNIP - Ciência da Computação e Sistemas de Informação Estrutura de Dados AULA 6 Filas Estrutura de Dados A Estrutura de Dados Fila Fila é uma estrutura de dados usada em programação, que tem regras para
Orientação a Objetos e a Linguagem Java
Orientação a Objetos e a Linguagem Java Afrânio Assis [email protected] Novembro/2006 1 Reutilizição com Herança e Composição Novembro/2006 2 Introdução Separar as partes que podem mudar das partes que
Programação Orientada a Objectos - P. Prata, P. Fazendeiro. Cartão de fidelização de clientes das distribuidoras de combustível.
Caso de estudo O cartão fidelidade Cartão de fidelização de clientes das distribuidoras de combustível. Definição em JAVA da classe CartaoFidelidade, que deverá apresentar uma funcionalidade semelhante
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
3 Classes e instanciação de objectos (em Java)
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
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
Exercícios de Revisão Java Básico
Exercícios de Revisão Java Básico (i) Programação básica (estruturada) 1) Faça um programa para calcular o valor das seguintes expressões: S 1 = 1 1 3 2 5 3 7 99... 4 50 S 2 = 21 50 22 49 23 48...250 1
Computação II - Java Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Herança, Polimorfismo e Construtores
Computação II - Java Prof. Adriano Joaquim de Oliveira Cruz Aula Prática - Herança, Polimorfismo e Construtores 1 Exercícios Exercício 1: Construtores e Testes Analise a classe Conta.java, mostrada na
INTRODUÇÃO À LINGUAGEM C++
INTRODUÇÃO À LINGUAGEM C++ 1 - VARIÁVEIS Variáveis espaço de memória reservado para armazenar tipos de dados, com um nome para referenciar seu conteúdo. Observações importantes Todas as variáveis devem
Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.
Sintaxe Geral Tipos de Dados Comentários Comentários: De linha: // comentário 1 // comentário 2 De bloco: /* linha 1 linha 2 linha n */ De documentação: /** linha1 * linha2 */ Programa Exemplo: ExemploComentario.java
Projeto de sistemas em Java. Algoritmos e Programação I. Classe SimulacaoFuncionario. Classe SimulacaoFuncionario. Classe SimulacaoFuncionario
Projeto de sistemas em Java Algoritmos e Programação I Aula 25 Profa. Márcia Cristina Moraes [email protected] Profa. Sílvia M. W. Moraes [email protected] Agora que já estamos manipulando com mais
Programação Orientada a Objetos: Lista de exercícios #1. Bruno Góis Mateus
Programação Orientada a Objetos: Lista de exercícios #1 Bruno Góis Mateus 1 Contents Programação Orientada a Objetos (Bruno Góis Mateus ): Lista de exercícios #1 Classes e Instanciação 3 A classe Circle...............................................
Vetores. Professor Dr Francisco Isidro Massettto [email protected]
Professor Dr Francisco Isidro Massettto [email protected] Nem sempre os tipos básicos: (inteiro, real, caracter e lógico) são suficientes para implementar um algoritmo. Por exemplo: Considere
Conversão de Tipos e Arrays
Conversão de Tipos e Arrays Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno [email protected] Fonte: Material da Profª Karina Oliveira Conversão de Tipos Permite converter
5 - Vetores e Matrizes Linguagem C CAPÍTULO 5 VETORES E MATRIZES
CAPÍTULO 5 5 VETORES E MATRIZES 5.1 Vetores Um vetor armazena uma determinada quantidade de dados de mesmo tipo. Vamos supor o problema de encontrar a média de idade de 4 pessoas. O programa poderia ser:
Programação por Objectos. Java
Programação por Objectos Java Parte 2: Classes e objectos LEEC@IST Java 1/24 Classes (1) Sintaxe Qualif* class Ident [ extends IdentC] [ implements IdentI [,IdentI]* ] { [ Atributos Métodos ]* Qualif:
Programação Orientada a Objetos em Java
Programação Orientada a Objetos em Java Rone Ilídio da Silva Universidade Federal de São João del-rei Campus Alto Paraopeba 1:14 1 Objetivo Apresentar os principais conceitos de Programção Orientada a
Orientação a Objetos
Orientação a Objetos 1. Sobrecarga (Overloading) Os clientes dos bancos costumam consultar periodicamente informações relativas às suas contas. Geralmente, essas informações são obtidas através de extratos.
Programação Orientada a Objeto
Programação Orientada a Objeto Classes, Atributos, Métodos e Objetos Programação de Computadores II Professor: Edwar Saliba Júnior 1) Java é uma linguagem orientada a objetos. Para que possamos fazer uso
DEFINIÇÃO DE MÉTODOS
Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 2 DEFINIÇÃO DE MÉTODOS Todo o processamento que um programa Java faz está definido dentro dos
Estrutura Condicional em Java
Estrutura Condicional em Java Linguagem de Programação 1 O Java contém três tipos de instruções de seleção. A instrução if realiza uma ação se uma condição for verdadeira ou pula a ação se a condição for
1. Herança. Sobrescrevem métodos - redefinem métodos herdados. Subclasse herda de uma superclasse
1. Herança Herança - forma de reutilização de software Novas classes são criadas a partir de classes já existentes Absorvem atributos e comportamentos, e incluem os seus próprios Sobrescrevem métodos -
Herança. Alberto Costa Neto DComp - UFS
Herança Alberto Costa Neto DComp - UFS 1 Motivação Vimos como se faz encapsulamento e a importância de fazê-lo... Contudo, também é possível fazer encapsulamento em algumas linguagens não OO O que mais
Programação por Objectos. Java
Programação por Objectos Java Parte 6: Herança e Polimorfismo LEEC@IST Java 1/52 Herança revisão A herança é um mecanismo em que a subclasse constitui uma especialização da superclasse. A superclasse pode
Java Threads. Introdução
Java Threads [email protected] 1 Introdução O único mecanismo de concorrência suportado explicitamente pela linguagem Java é multi-threading. threading. Os mecanismos de gerenciamento e sicronização
Linguagem de Programação I. Orientação a Objetos em Java
Linguagem de Programação I Orientação a Objetos em Java Roteiro Introdução Classes e Objetos Declaração de Classes e Instanciação de um Objeto de uma Classe Declarando métodos com parâmetros Atributos,
Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos
Programação Orientada a Objetos Relacionamentos entre objetos Associação, composição e agregação Construtores e sobrecarga Variáveis de classe e de instância Reinaldo Gomes [email protected] Objetos
2ª LISTA DE EXERCÍCIOS CLASSES E JAVA Disciplina: PC-II. public double getgeracaoatual() {return geracaoatual;}
2ª LISTA DE EXERCÍCIOS CLASSES E JAVA Disciplina: PC-II Exercício : Construtores são métodos especiais sem tipo de retorno (nem mesmo void) e de mesmo nome que a classe que são invocados quando da criação
LINGUAGEM ORIENTADA A OBJETOS
LINGUAGEM ORIENTADA A OBJETOS TI MÓDULO II O ECLIPSE O eclipse é uma IDE Open Source (código fonte aberto) que serve para o desenvolvimento em muitas linguagens: PHP Java Python HTML C/C++ A IDE Eclipse
Implementação de Classe e Auto-Relacionamento em Java
UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Implementação de Classe e Auto-Relacionamento em Java 1)Introdução Um modelo de Diagrama de Classes representa a estrutura definida
Prof. Jhonatan Fernando
Prof. Jhonatan Fernando Métodos Programação OO Instâncias de variáveis (objetos) Mensagens Classes Herança Polimorfismo Encapsulamento Abstração Programação Estruturada Procedimentos e funções Variáveis
A Introdução à Programação Orientada a Objetos. Programação e Sistemas de Informação
A Introdução à Programação Orientada a Objetos Programação e Sistemas de Informação Objectos (1) Objectos são coisas que temos no mundo real e abstraímos no mundo virtual para que possamos manipulá-los
Programação por Objectos. Java
Programação por Objectos Java Parte 3: Métodos LEEC@IST Java 1/45 Métodos (1) Sintaxe Qualif Tipo Ident ( [ TipoP IdentP [, TipoP IdentP]* ] ) { [ Variável_local Instrução ]* Qualif: qualificador (visibilidade,
Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }
Este documento tem o objetivo de demonstrar os comandos e sintaxes básicas da linguagem Java. 1. Alguns passos para criar programas em Java As primeiras coisas que devem ser abordadas para começar a desenvolver
Capítulo 8. Introdução UML
Capítulo 8. Introdução UML 1/42 Índice Indice 8.1 - Introdução UML 8.2 - Modelação estrutural 8.2.1 - Representação de classes e objectos 8.2.2 - Relações entre objectos 8.2-3 - Relações de associação
Módulo 02 Programação Orientada a Objetos. Última atualização: 07/06/2010
Módulo 02 Programação Orientada a Objetos Última atualização: 07/06/2010 1 Objetivos Definir conceitos de orientação a objetos: o abstração, encapsulamento, pacotes. Discutir reutilização de código em
Curso Adonai QUESTÕES Disciplina Linguagem JAVA
1) Qual será o valor da string c, caso o programa rode com a seguinte linha de comando? > java Teste um dois tres public class Teste { public static void main(string[] args) { String a = args[0]; String
Programação Visual TIC - 3PA. Lista de Exercícios 02
Programação Visual TIC - 3PA Lista de Exercícios 02 Professor: Edwar Saliba Júnior 1) Elabore um programa para simular uma conta de poupança. Crie uma classe contacorrente com os seguintes atributos: saldo,
15 a Aula Subprogramação /Subalgoritmos Função e Procedimento
FISP 1/6 15 a Aula Subprogramação /Subalgoritmos Função e Procedimento Objetivo: Simplificação e racionalização na elaboração de algoritmos mais complexos Recursos: Estruturação de algoritmos e modularização
Java 2 Standard Edition Como criar classes e objetos
Java 2 Standard Edition Como criar classes e objetos Helder da Rocha www.argonavis.com.br 1 Assuntos abordados Este módulo explora detalhes da construção de classes e objetos Construtores Implicações da
JSP - ORIENTADO A OBJETOS
JSP Orientação a Objetos... 2 CLASSE:... 2 MÉTODOS:... 2 Método de Retorno... 2 Método de Execução... 2 Tipos de Dados... 3 Boolean... 3 Float... 3 Integer... 4 String... 4 Array... 4 Primeira:... 4 Segunda:...
Programação Orientada a Objetos (DPADF 0063)
Programação Orientada a Objetos (DPADF 0063) Aula 5 Herança Universidade Federal de Santa Maria Colégio Agrícola de Frederico Westphalen Curso Superior de Tecnologia em Sistemas para Internet Prof. Bruno
Programação Orientada a Objetos e Java - Introdução. Carlos Lopes
Programação Orientada a Objetos e Java - Introdução Carlos Lopes POO e Java Objetivo: proporcionar uma visão dos conceitos de POO e do seu uso na estruturação dos programas em Java. Classes e objetos em
2 Orientação a objetos na prática
2 Orientação a objetos na prática Aula 04 Sumário Capítulo 1 Introdução e conceitos básicos 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2 Objetos 1.4.3 Métodos e atributos 1.4.4 Encapsulamento 1.4.5 Métodos
2. O gerador de código estende DepthFirstAdapter implementando a interpretação que gerará código Jasmin a partir de Smallpascal.
Geração de Código para Smallpascal a 1. Já estudamos como SableCC faz uso do design pattern visitor para construir compiladores modulares. Vimos também os principais componentes da máquina virtual Java
Análise e Projeto Orientados por Objetos
Análise e Projeto Orientados por Objetos Aula 01 Orientação a Objetos Edirlei Soares de Lima Paradigmas de Programação Um paradigma de programação consiste na filosofia adotada na
Orientação a Objetos com Java
Orientação a Objetos com Java Julio Cesar Nardi [email protected] 2011/2 Apresentação 3: Orientação Objetos: Conceitos Básicos Objetivos: Compreender os Conceitos Básicos da Orientação a Objetos;
public Agenda() { compromissos = null; } public int getnumerodecompromissos() { if (compromissos==null) return 0; else return compromissos.
import java.util.scanner; class Data... class Compromisso... public class Agenda private Compromisso[] compromissos; private Compromisso[] realoquecompromissos (Compromisso[] vetor, int tamanhodesejado)
ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.
Cursos: Análise, Ciência da Computação e Sistemas de Informação Programação I - Prof. Aníbal Notas de aula 8 ARRAYS Introdução Até agora, utilizamos variáveis individuais. Significa que uma variável objeto
1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros.
Lista de exercícios: Grupo I - programa seqüênciais simples 1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros. 2. Fazer um programa
Rafael Santos. Instituto Nacional de Pesquisas Espaciais www.lac.inpe.br/ rafael.santos. Rafael Santos - www.lac.inpe.br/ rafael.
Coleções e Aplicações Rafael Santos Instituto Nacional de Pesquisas Espaciais www.lac.inpe.br/ rafael.santos Rafael Santos - www.lac.inpe.br/ rafael.santos 1 / 54 Tópicos 1 Sobre... 2 Revisão de Java 3
ÇÃO COM OBJECTOS PROGRAMAÇÃ. Programação com Objectos. Programação com Objectos TUDO É UM OBJECTO TUDO É UM OBJECTO ÍNDICE.
PROGRAMAÇÃ ÇÃO COM OBJECTOS TUDO É UM OBJECTO Programação com Objectos ÍNDICE Introdução aos objectos Polimorfismo TUDO É UM OBJECTO Interface e classes internas Instruções de controlo Guardar os objectos
O que é um algoritmo? O que é um programa? Algoritmos. Programas. Aula 1 Tipo Abstrato de Dados
Aula 1 Tipo Abstrato de Dados O que é um algoritmo? Luiz Chaimowicz e Raquel O. Prates Livro Projeto de Algoritmos Capítulo 1 O que é um programa? 2009-1 Algoritmos Sequência de ações executáveis para
Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre
Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre Cap. 02 Fundamentos de Linguagens Sumário : Linguagem, alfabeto e gramática
Organização de programas em Java. Vanessa Braganholo [email protected]
Organização de programas em Java Vanessa Braganholo [email protected] Vamos programar em Java! Mas... } Como um programa é organizado? } Quais são os tipos de dados disponíveis? } Como variáveis podem
MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES. [email protected]
MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES [email protected] Externamente ao sistema, os atores visualizam resultados de cálculos, relatórios produzidos, confirmações de requisições solicitadas,
ESTRUTURA BÁSICA DE UM PROGRAMA JAVA
ESTRUTURA BÁSICA DE UM PROGRAMA JAVA Prof. Angelo Augusto Frozza, M.Sc. // Primeiro programa em Java public class PrimeiroPrograma { public static void main(string [] args) { System.out.println("Programação
Programação Orientada a Objetos. Encapsulamento
Programação Orientada a Objetos Encapsulamento de Dados Ocultação de dados Garante a transparência de utilização dos componentes do software, facilitando: Entendimento Reuso Manutenção Minimiza as interdependências
Linguagens de Programação Aula 10
Linguagens de Programação Aula 10 Celso Olivete Júnior [email protected] Na aula passada As sentenças de controle das LP imperativas ocorrem em diversas categorias: seleção, seleção múltipla, iteração
Exemplo 1. Um programa que cria uma instância de uma classe que herda da classe Frame
6. Como aplicações gráficas funcionam em Java? Todas as aplicações gráficas em Java usam instâncias de classes existentes, que por serem parte da linguagem podem ser executadas em todas as versões de Java
UNIVERSIDADE FEDERAL DO PARANÁ
CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 05 APRESENTAÇÃO: Nesta aula vamos ver como se faz a criação de Métodos
Unidade IV: Ponteiros, Referências e Arrays
Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática
Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.
1 - Criando uma classe em Java Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans. Antes de criarmos a(s) classe(s) é necessário criar o projeto
Professor: Douglas Sousa Cursos de Computação
Linguagem de Programação C# Professor: Douglas Sousa Cursos de Computação Agenda Conceitos Básicos; Principais Características; Visual Studio; Meu Primeiro Programa; A Linguagem C#; Sistemas de Tipos;
5 Caso de estudo O cartão fidelidade
5 Caso de estudo O cartão fidelidade Cartão de fidelização de clientes das distribuidoras de combustível. Definição em JAVA da classe CartaoFidelidade, que deverá apresentar uma funcionalidade semelhante
Técnicas de Programação II
Técnicas de Programação II Aula 06 Orientação a Objetos e Classes Edirlei Soares de Lima Orientação a Objetos O ser humano se relaciona com o mundo através do conceito de objetos.
Introdução à Programação com Classes em C++
1 FEUP/LEEC/AED/2001-2002 Introdução à Programação com Classes em C++ João Pascoal Faria http://www.fe.up.pt/~jpf FEUP/LEEC/AED/ 2000-2001 Conceito de classe em C++ 2 Classe em sentido lato: tipo de dados
Introdução à Programação. Armazenamento de Grande Quantidade de Informação Usando Vetores
Introdução à Programação Armazenamento de Grande Quantidade de Informação Usando Vetores Armazenando Grande Quantidade de Informação Como armazenar tanta informação? Vetores! 2 Tópicos da Aula Hoje, aprenderemos
15-09-2009. Membros de classe e de instância. PARTE III: Java e OO - detalhes. Exemplo 1: método. Exercício. Exemplo 1 corrigido
PARTE III: Java e OO - detalhes Membros de classe e instâncias Pacotes Visibilidade Classes aninhadas Membros de classe e de instância De classe Static Método não necessita de objeto para ser chamado.
PROCESSOS. Prof. Maicon A. Sartin [email protected]
PROCESSOS Prof. Maicon A. Sartin [email protected] Cenários em Sistemas Multitarefas Um usuário pode executar diversas atividades simultâneas Música Editoração de texto Navegar na Internet Servidor pode
Tipo Abstrato de Dados
Tipo Abstrato de Dados David Menotti Algoritmos e Estruturas de Dados II DInf - UFPR Qual a diferença entre um algoritmo e um programa? Algoritmos e Estruturas de Dados Algoritmo: Sequência de ações executáveis
JavaScript (ou JScript)
1. Introdução JavaScript (ou JScript) Uma linguagem como o JavaScript permite criar interfaces interativas na web (permite a interação do usuário). Para desenvolver web sites interativos precisamos de
E/S CPU. Memória (Instruções e dados) 2 PARADIGMA IMPERATIVO. Instruções e dados. Resultados das operações. Unidade lógica e aritmética
2 PARADIGMA IMPERATIVO 2.1 CONCEITO As linguagens que pertencem ao paradigma imperativo tomam por base a perspectiva da máquina. Ou seja, no modo como o computador executa programas em linguagem de máquina.
Polimorfismo. Prof. Leonardo Barreto Campos 1
Polimorfismo Prof. Leonardo Barreto Campos 1 Sumário Introdução; Polimorfismo; Polimorfismo Java; Métodos Abstratos Java Classes Abstratas Java Exercício - Java Polimorfismo C++ Classe Abstrata C++; Funções
EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS
Campus Cachoeiro de Itapemirim Curso Técnico em Informática Disciplina: Análise e Projeto de Sistemas Professor: Rafael Vargas Mesquita Este exercício deve ser manuscrito e entregue na próxima aula; Valor
Módulo 06 Desenho de Classes
Módulo 06 Desenho de Classes Última Atualização: 13/06/2010 1 Objetivos Definir os conceitos de herança, polimorfismo, sobrecarga (overloading), sobreescrita(overriding) e invocação virtual de métodos.
Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos)
Prova de Java 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos) O programa consiste em uma aplicação que simula o comportamento de dois
Carga horária : 4 aulas semanais (laboratório) Professores: Custódio, Daniel, Julio foco: introdução a uma linguagem de programação Linguagem Java
Carga horária : 4 aulas semanais (laboratório) Professores: Custódio, Daniel, Julio foco: introdução a uma linguagem de programação Linguagem Java 1 Objetivo: O aluno deverá adquirir capacidades e habilidades
Sistemas de Apoio à Decisão
Sistemas de Apoio à Decisão Processo de tomada de decisões baseia-se em informação toma em consideração objectivos toma em consideração conhecimento sobre o domínio. Modelar o processo de tomada de decisões
Templates e Pilhas. 1. Introdução
Templates e Pilhas 1. Introdução Templates ou Generics é considerado uma forma de polimorfismo [1]. É uma forma de programar onde o tipo do dado não é considerado. Programa-se para um tipo de dado indefinido.
INF1007 - PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 4
INF1 - PROGRAMAÇÃO II LISTA DE EXERCÍCIOS 4 1. Considere uma aplicação que utiliza pontos, retângulos e círculos para representações gráficas. Um ponto é composto pelas suas coordenadas x e y, um retângulo
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) [email protected]
Keeper of Knowledge. Capítulo 2 Classes em Java
Capítulo 2 Classes em Java INTRODUÇÃO Uma classe é um conjunto de software que representa uma realidade qualquer, que pode ser representada por números e símbolos. Uma classe possui dados de um ou mais
