POO Programação Orientada a Objetos. Classes em Java



Documentos relacionados
3 Classes e instanciação de objectos (em Java)

Objetivos: Sun recomenda que utilize o nome de domínio da Internet da empresa, para garantir um nome de pacote único

Programação por Objectos. Java

Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.

Encapsulamento de Dados

Programação de Computadores - I. Profª Beatriz Profº Israel

Membros de classe e de instância. PARTE III: Java e OO - detalhes. Exemplo 1: método. Exercício. Exemplo 1 corrigido

Noções sobre Objetos e Classes

Java 2 Standard Edition Como criar classes e objetos

Programação Orientada a Objetos. Pacotes e CLASSPATH: Definifdo e Usando Pacotes

Programação Estruturada e Orientada a Objetos. Fundamentos Orientação a Objetos

2 Orientação a objetos na prática

Sintaxe Básica de Java Parte 1

Programação de Computadores - I. Profª Beatriz Profº Israel

Programas eram lineares e com poucos módulos (Programação estruturada) Aumento da complexidade dos sistemas e difícil reusabilidade dos mesmos

Orientação a Objetos com Java

Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição

Computação II Orientação a Objetos

Projeto de Software Orientado a Objeto

ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS

JSP - ORIENTADO A OBJETOS

Técnicas de Programação II

2 Desenvolvimento de Software Orientado a Aspectos

Tópicos em Engenharia de Computação

Construção de novas Classes em Java. Classes Atributos Métodos Herança...

Análise e Projeto Orientados por Objetos

Programação Orientada a Objetos. Encapsulamento

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

Capítulo 4. Packages e interfaces

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

A Introdução à Programação Orientada a Objetos. Programação e Sistemas de Informação

Programação Orientada a Objetos

Orientação a Objetos

Keeper of Knowledge. Capítulo 2 Classes em Java

Módulo 02 Programação Orientada a Objetos. Última atualização: 07/06/2010

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

Programação Orientada a Objetos em Java

Modulo IIa Extra: Object

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Um objeto é uma instância de uma 'classe'. Você define uma classe utilizando o trecho de código abaixo;

Desenvolvimento OO com Java Orientação a objetos básica

Curso de Java. Orientação a objetos e a Linguagem JAVA. TodososdireitosreservadosKlais

Implementando uma Classe e Criando Objetos a partir dela

Linguagem de Programação I. Orientação a Objetos em Java

Programação com Acesso a BD. Programação com OO Acesso em Java

Java - Introdução. Professor: Vilson Heck Junior. vilson.junior@ifsc.edu.br

ESTRUTURA BÁSICA DE UM PROGRAMA JAVA

FBV - Linguagem de Programação II. Um pouco sobre Java

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento NetBeans Introdução à Linguagem de Programação JAVA

Linguagem de Programação III

Módulo 07 Características Avançadas de Classes

Herança. Algoritmos e Programação II. Aula 5 Herança

Criar a classe Aula.java com o seguinte código: Compilar e Executar

1. Herança. Sobrescrevem métodos - redefinem métodos herdados. Subclasse herda de uma superclasse

Orientação a Objetos e a Linguagem Java

Aula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Programação Orientada a Objetos Prof. Rone Ilídio UFSJ/CAP

Computação II Orientação a Objetos

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA

A Linguagem Java. Alberto Costa Neto DComp - UFS

Programação por Objectos. Java

Programação Orientada a Objetos C++

Profº. Enrique Pimentel Leite de Oliveira

Guia de Fatores de Qualidade de OO e Java

Prof. Esp. Adriano Carvalho

Programação Orientada a Objetos (DPADF 0063)

Técnicas de Programação Avançada TCC Profs.: Anselmo Montenegro Conteúdo: Introdução à Orientação a Objetos

Java Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da

BSI UFRPE Prof. Gustavo Callou

Módulo 06 Desenho de Classes

Tabelas (arrays) (vetores, matrizes, etc) Algoritmos de pesquisa Algoritmos de ordenação

Tópicos da Aula. Classes e Objetos. Classe Pública em Java. Classes em Java. Assinatura de Métodos. Corpo de Classes e Métodos. Conceitos de classe

Herança. Alberto Costa Neto DComp - UFS

AULA Uma linguagem de programação orientada a objetos

CONVENÇÃO DE CÓDIGO JAVA

Análise de Programação

Coleções. Conceitos e Utilização Básica. c Professores de ALPRO I 05/2012. Faculdade de Informática PUCRS

Reuso com Herança a e Composiçã

Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos)

Capítulo 8. Introdução UML

Introdução a Java. Hélder Nunes

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

UNIVERSIDADE FEDERAL DO PARANÁ

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

UML Aspectos de projetos em Diagramas de classes

Programação por Objectos. Java

Prof. Jhonatan Fernando

8 Classes Internas. Desenvolvimento OO com Java. Vítor E. Silva Souza

PROGRAMAÇÃO ORIENTADA A OBJETOS

Lógica de Programação

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.

Keeper of Knowledge. Capítulo 1 Conceitos Básicos do Java

Polimorfismo. Prof. Leonardo Barreto Campos 1

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

Roteiro do Programa e Entrada/Saída

Estruturas (registros)

public Agenda() { compromissos = null; } public int getnumerodecompromissos() { if (compromissos==null) return 0; else return compromissos.

Capítulo 13. Encapsulamento. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

Transcrição:

+ POO Programação Orientada a Objetos Classes em Java

+ Classes 2 Para que a JVM crie objetos: Ela precisa saber qual classe o objeto pertence Na classe estão definidos os atributos e métodos Programamos classes e depois as usamos Tudo em JAVA são classes Menos os tipos primitivos Uma classe define um novo tipo Componentes da classe São os membros da classe

+Definição de classe 3 Declaração [Opções] class NomeClasse { [atributos] [construtores] [métodos] Corpo

+ Exemplo 4 public class Lampada{ private boolean ligada; private double potencia; public Lampada(){ ligada = false; public void ligar(){ ligada = true; public void desligar(){ ligada = false; public boolean estaligada(){ return ligada; Atributos Construto r Métodos

+ O que fazer 5 Edite o arquivo fonte Salve com a extensão.java Se a classe for public o nome do arquivo deve ser o mesmo nome da classe com a extensão.java Compile com o javac Será criado o arquivo.class que contém a classe a ser usada Este arquivo deverá estar no CLASSPATH da JVM CLASSPATH é o lugar onde a JVM procura as classes Variável de ambiente CLASSPATH Crie um programa que use a classe Objetos dessa classe podem ser criados e manipulados

+ O que fazer

+ Atributos 7 São as variáveis de instância Fazem parte de cada objeto (instância) Declarada fora dos métodos "Vivem" enquanto o objeto "viver" São pré-inicializadas boolean ==> false tipo aritmético ==> 0 char ==> \u0000 exemplo: public int x; private float y; Ponto p1; class ==> null Obs: Todo objeto possui um identificador chamado this, que é uma referência para o próprio objeto (proximo slide).

+ this 8 Todo objeto possui um atributo que é uma referência a ele mesmo Usado para acesso a membros do proprio objeto this.membro Evita conflito Com parâmetros de metodos, por exemplo Exemplo: class Qualquer { int x, y; public void mover(int x,int y){ this.x = x; this.y = y;

+ Métodos 9 Declaração de método: <opcoes> tiporetorno nomemetodo (parametros) public int metodo(float x) Passagem de parâmetros: Deve ser informados o tipo e identificador dos parâmetros. Funciona no método como uma variável normal Passam o valor do identificador

+ Métodos 10 Corpo do método: Implementa as operações do método Fica entre chaves ({) Variáveis podem ser criadas Ela é dita local Não é pré-inicializada. Só existe enquanto o método está em execução

+ Construtores 11 Mesmo nome da classe Não possui retorno Podem ser vários Diferença na quantidade e tipo dos parâmetros Construtor padrão é fornecido Se não houver pelo menos um definido Não possui parâmetros É chamado na execução do new

+ Outro exemplo 12 Ponto Plano cartesiano Coordenadas X e Y Pode ser movido de lugar Podemos saber sua distância da origem public class Ponto{ private double x,y; public Ponto(){ x = 0; y = 0; public Ponto(double x, double y) {this.x = x, this.y = y; public void moverpara(double x, double y){ this.x = x; this.y = y; public double getx(){ return x; public double gety(){ return y; public double distanciaorigem(){ double distancia; distancia = (double)math.sqrt(x*x +y*y); return distancia; public String tostring(){ return Ponto ( +x+, +y+ ) ;

+ Visibilidade 13 Proteção de acesso Proteger o interior da classe Explicitar o que usuários (da classe) precisa saber pode ser: private: Apenas membros da classe têm acesso protected: Membros da classe e subclasses public: Todos têm acesso default: Apenas membros do mesmo pacote

+ Proteção de acesso 14 Interface Visão externa da classe O que os objetos da classes fazem Definem o contrato da classe O que o cliente precisa conhecer da classe Implementação Visão interna da classe Como os objetos fazem as operação Representação interna cliente não precisa (nem deve) conhecer a implementação Realizam o contrato definifo pela interface

Elementos do modelo de objetos + 15 Abstração Uma abstração denota as características essenciais de um objeto que o distingue de todas as outras espécies de objetos e assim provê limites conceituais bem definidos, sempre relativos à perspectiva de um observador. Encapsulamento Encapsulamento é o processo de esconder todos os detalhes de um objeto que não contribuem para suas características essenciais

+ Proteção de acesso 16 Atributos fazem parte a implementação Declare-os como private Nem todos os métodos fazem parte da interface Métodos que servem para auxiliar outros métodos Declare-os private Deixe public apenas o que o cliente deve saber Métodos da interface

+ Convenção de nomes 17 " Variáveis e Métodos: n Use minúsculas. n Se o nome consiste de várias palavras, concatene-as e use a primeira letra de cada uma delas em maiúsculo. n Variáveis: raio e area n Método: calculararea " Nomes de Classes: n Use a Primeira letra de cada palavra em maiúscula n Classe: Circulo, Ponto, NumeroComplexo

+ Exemplo 18 // TODO Fazer um exemplo completo que use visibilidade

+Dúvidas 19

Exercício Implemente a classe Racional Representam uma fração Dois construtores Sem parâmetros 1/1 Com dois parâmetros numerador e denominador Métodos que realizam as operações Recebem numerador e denominador que representam a fração da operação modificam a fração Crie um programa para testar sua classe 20

Exercicio Modifique os métodos que recebem numerador e denominador para que recem agora um objeto da classe Racional Menos o construtor Modifique o programa que testa a classe 21