Classes & Objectos em JAVA5

Slides:



Advertisements
Apresentações semelhantes
|Introdução a Java para programadores Telis. Jogo de Dados simples O jogo é jogado por dois jogadores. Cada jogador faz sua jogada (lança um dado), e.
Advertisements

JAVA Orientação a Objetos
Programação orientada a objetos
Paradigmas da Programação – Semestre 1 – Aula 6
Engenharia Informática Programação I & Estruturas de Dados e Algoritmos 2001/ Capitulo 3 – Introdução às classes Capitulo 3 Introdução às classes.
Java - Interfaces Prof. Msc. Flávio Viotti.
Interação entre objetos
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição Autor: Walter Savitch, ISBN © 2005.
Orientação a Objetos: Encapsulamento e Classificação
Java: Pacotes e Modificadores de Visibilidade
De 17 1 Linguagens de Programação Orientadas a Objetos Pós-Gradução(Lato-Sensu) em Sistemas de Banco de Dados - UFPa Marco Fagundes Aula.
Generalização, Especialização e Conceitos
Iniciação ao Java – Márcio F. Campos
Programação Básica em Java
INF Computação Gráfica
Wagner Santos C. de Jesus
Capítulo 13 Pacotes. 2 Capítulo 13 – Pacotes Pacotes Pacote Cláusula package Cláusula import Executando uma classe de pacote Modificadores de acesso.
Orientação a Objetos Classes
Capítulo 9 Herança 1.
A linguagem C#.
Métodos Programação II
Métodos Programação II 1 Métodos de Programação II (Mestrado Integrado em Engenharia de Comunicações) 1º Ano, 2º Semestre Elementos de Classe, class wrappers.
Métodos Programação II 1 Métodos de Programação II (Mestrado Integrado em Engenharia de Comunicações) 1º Ano, 2º Semestre Classes Abstractas.
Paulo J. Azevedo Departamento de Informática Universidade do Minho
Classes e objetos Arrays e Sobrecarga
Herança e Polimorfismo
Herança P. O. O. Prof. Ângela e Grace.
Classes e objetos P. O. O. Prof. Grace.
Paradigmas de Linguagens de Programação Paradima da Programação Orientada à Objetos Professor: Armando Hage Belém-2008.
CRIANDO OBJETOS EM JAVA
Programação Orientada a Objetos com Java
PLC – Introdução a POO Java
JAVA Orientação a Objetos
Programação I Aula 2 (Métodos)
Classes, Objetos, Atributos e Métodos JAVA
Paulo Borba Centro de Informática Universidade Federal de Pernambuco Classes Abstratas e Interfaces.
Os métodos equals() e hashCode()
Orientação a Objetos e Java Graduação em Ciência da Computação
Paulo Borba Centro de Informática Universidade Federal de Pernambuco
Programação Orientada a Objetos: Reuso
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa This.
Programação orientada a objectos em C++
Listas Simplesmente Encadeadas
2002/2003 Programação Orientada para Objectos 1 Aula 6 Classes que reservam recursos externos Problemas comuns Construtores e destrutores Construção por.
Wagner Santos C. de Jesus
Aula Prática 1 Monitoria IP/CC (~if669). Verificação Dinâmica de Tipos Métodos de superclasses e subclasses: Uso de métodos de subclasses quando se é.
Programação Orientada à Objetos
UTFPR – Campus Curitiba - DAELN Cursos de Eng. Eletrônica/Eng
Orientação a Objetos usando Java
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Java Kickstart, day 2 Semelhanças com linguagem C.
Aula Prática 4 Monitoria IP/CC (~if669).
Prof.: Bruno Rafael de Oliveira Rodrigues. Construtor é bloco declarado que é chamado no momento em que o Objeto é criado (instanciado). Todas as classes.
Implementação Orientada a Objetos – Aula 05 Construtores e sobrecarga de métodos Prof. Danielle Martin Universidade de Mogi das Cruzes
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota (com material da Qualiti Software Process)
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Classes Abstratas e Interface
Vendo o código como um bolo... com várias camadas! Interface com o usuário (GUI) Comunicação Negócio Dados.
Herança e Arquitetura em camadas
Certificação Marco Antonio. Introdução A compreensão desse capítulo é muito importante pois trata de um assunto essencial em qualquer linguagem de programação,
Copyright 1998, Departamento de Informática da UFPE. Todos os direitos reservados sob a legislação em vigor. Variáveis e métodos estáticos, Passagem de.
Bruno Inojosa MCP .NET Framework
Modificadores Programação II.
Copyright 2000, Departamento de Informática, UFPE. Todos os direitos reservados sob a legislação em vigor. Orientação a Objetos e Java.
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Implementação Orientada a Objetos – Aula 08 Herança, sobrescrita de métodos e polimorfismo Prof. Danielle Martin Universidade de Mogi das Cruzes
Implementação Orientada a Objetos – Aula 04 Métodos, parâmetros e retorno Prof. Danielle Martin/Marcia Bissaco Universidade de Mogi das Cruzes
1 Interface (o termo) » Interface (a palavra reservada): Java estendeu o conceito de interfaces à um nível ainda mais flexível que permite construir entidades.
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
Transcrição da apresentação:

Classes & Objectos em JAVA5 Métodos de Programação II (Mestrado Integrado em Engenharia de Comunicações) 1º Ano, 2º Semestre Classes & Objectos em JAVA5 Métodos Programação II

Métodos Programação II Classes Classes: conjunto de dados e métodos (procedimentos) para operar sobre esses dados. Classes são tipos de dados! Este conjunto de dados e métodos juntos definem o conteúdo e comportamento de um objecto. As classes servem para definir a estrutura (variáveis) e comportamentos comuns (métodos) de todos os objectos criados a partir delas. Excelente mecanismo de partilha de código. Métodos Programação II

Definição de Classe public class Ponto { // variáveis de instância Visibilidade public class Ponto { // variáveis de instância private double x, y; // constructores Ponto() { this.x = 0.0; this.y = 0.0; } Ponto(double x, double y) { this.x = x; this.y = y; } // métodos public double getX(){ return this.x;} public void setX(double x) { this.x = x;} } Estado Keyword para indicar referência ao próprio objecto Constructores: definem a inicialização do objecto Comportamento Exemplo de um método de consulta. Permite preservar encapsulamento. Métodos Programação II

Métodos Programação II Criação de Instâncias class Test { public static void main(String s[]) Ponto p1 = new Ponto(); Ponto p2 = new Ponto(4,5); double a = p1.getX(); // notar!! p1.x = 0.4; } A keyword private ajuda a preservar encapsulamento. Esta situação não é admitida pelo compilador. No entanto, (mesmo sem private), NUNCA deve ser implementado por nós Métodos Programação II

Métodos Programação II Formato de um método <tipo de resultado> <identificador> ( tipo nome_parâmetro, … ) Assinatura de um método: int getConta() boolean maiorQue(int valor) void setValor(int valor) boolean valorEntre(real min, real max) String toString() Nt[] notasAcimaDe(int NotaRef) Triangulo maiorTtri(Triangulo t2) Falta aqui falar de visibilidade de um método. Métodos Programação II

Acessibilidade de uma classe public acesso para todos… private e protected só usado em casos de classes que ajudam a implementar outras. nenhum acessível por classes dentro da package. Quando não definimos um package é assumido que só as classes definidas dentro do mesmo directório têm acesso… No entanto, podemos sempre fazer: package java.classes1; class Ponto { … Métodos Programação II

Acessibilidade para métodos e variáveis as variáveis de instância são private por questões de encapsulamento. alguns métodos também o podem ser, sobretudo quando são usados para consumo interno à classe (métodos auxiliares). protected pode ser a forma de se ter classes a herdar variáveis (a ver mais tarde) Métodos Programação II

Métodos complementares equals(ObjectType p) clone() toString() Exemplos: public boolean equals(Ponto p) { if (p != null) return (this.x == p.getx()) && (this.y == p.gety()); else return(false); } public Ponto clone() { return new Ponto(this.x,this.y); } public String toString() { return(“Ponto(” + this.x +”,”+ this.y + “)”); } Métodos Programação II

Overloading de métodos Numa classe podemos ter o mesmo método com assinaturas diferentes, representado implementações diferentes. Exemplo: public double imposto(double taxa, int val1, int val2) { return val1*taxa + val2*taxa;} public double imposto(double taxa, int val1, int val2,int val3) { return val1*taxa + val2*taxa + val3*taxa;} Podemos ter até um número indefinido de parâmetros (JAVA5): public double imposto(double taxa, int... vals) { double impTotal = 0.0; for(int val : vals) impTotal += val; return impTotal; } Modos de uso… double calc1 = 0.0, calc2 = 0.0; calc1 = imposto(0.45, 12, 34, 44, 25); calc2 = imposto(0.21, 56, 34, 11, 23, 45, 2, 45, 67); Métodos Programação II

Definição de classes por composição Podemos sempre reutilizar classes para construir por composição, outras classes. Exemplo, definição de Circulo: public class Circulo { // construtores . . . . . . . // variáveis de instância private Ponto centro; private double raio; ................... } Métodos Programação II

Métodos Programação II Outro exemplo Public class Segmento { private Ponto x,y; // constructor Segmento() { this.x = new Ponto(); this.y = new Ponto();} Segmento(Ponto a, Ponto b) { this.x = a.clone(); this.y = b.clone()} } Métodos Programação II

Métodos Programação II Exercícios Definir a classe Ponto Definir a classe Circulo usando Ponto. Para a classe Circulo implementar os métodos que permitam: Área do circulo Distância entre dois círculos Implementar método maior_que() entre dois Círculos. Métodos Programação II