Orientação a Objetos e Java

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

Linguagem Java - Introdução

Módulo Lógica Programação com aplicações em Java. Projeto khouse Profissionalizante Profª Larissa Brandão

Introdução a JAVA. Variaveis, tipos, expressões, comandos e blocos

Introdução a JAVA. Variáveis, tipos, expressões, comandos e blocos

Tipos, Literais, Operadores

Tipos, Literais, Operadores

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

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

Algoritmos e Estruturas de Dados I

Ambientação com a Sintaxe de Java: parte 1

Sintaxe da linguagem Java

RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em:

Programação Estruturada e Orientada a Objetos

Noçõ linguagem Java. Profs. Marcel Hugo e Jomi Fred Hübner. Departamento de Sistemas e Computação Universidade Regional de Blumenau - FURB

Linguagem de Programação II Implementação

Estrutura de Dados Funções e Procedimentos

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

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

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

CIÊNCIA DA COMPUTAÇÃO - LINGUAGEM DE PROGRAMAÇÃO II REVISÃO POO

Análise de Programação

Linguagem de programação Java

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

Sintaxe Básica do Java. João Paulo Q. dos Santos

Java Básico. Carga Horária: 32 horas. Pré-requisito: Lógica de Programação; JAVA. Conteúdo Programático

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Variáveis primitivas e Controle de fluxo

LÓGICA DE PROGRAMAÇÃO (JAVA) VARIÁVEIS. Professor Carlos Muniz

Algoritmos II prof. Daniel Oliveira

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

Seleção Múltipla Laços (while, do-while, for) AULA 05

Lição 4 Fundamentos da programação

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

Objetivo: Aplicar a técnica de encapsulamento no sistema de gestão acadêmica

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

Programação Estruturada

Programação Orientada a Objetos

Palavras Reservadas da Linguagem Java

Linguagem de Programação III

MsC. João Maria MsC. Liviane Melo

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

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

Linguagem de Programação II Implementação

Linguagem de Programação III

AULA 02 DADOS PRIMITIVOS E EXERCÍCIOS

Introdução à Programação. Conceitos Básicos de Orientação a Objetos

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

PHP: <?php echo("hello World");?> Printa Hello World na página do navegador, mais fácil do que no Java.

1 Introdução e Conceitos básicos

Vetores Unimensionais

Aula 08 Estruturas de Condição. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Universidade Estadual de Santa Cruz

INSTRUÇÕES DE REPETIÇÃO

Relacionamentos entre objetos

Tipos Primitivos, estruturas de iteração e decisão.

Diagramas Sintáticos

Sintaxe Básica de Java Parte 2

Java e sua Sintaxe. Estrutura mínima de um programa em Java: public class Exemplo { }

Revisões de PG. Programação Orientada por Objetos (POO) Centro de Cálculo Instituto Superior de Engenharia de Lisboa

Java 2 Standard Edition Tipos, literais, operadores e controle de fluxo

Elementos Básicos. C# - Elementos básicos. Primeiro programa Tipos de dados Variáveis Constantes Expressões e operadores Controlo de fluxo Tabelas

Estrutura de Condição, Escolha e Repetição

Programação de Computadores II TCC Turma A-1

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

Linguagem Java: Sintaxe Java

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

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

AULA 6 - ARRAYS. Array de 10 elementos

Arquitetura Von Neumann Dados e instruções são obtidos da mesma forma, simplificando o desenho do microprocessador;

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

Lógica de Programação. Lógica de Programação com Java

Aula 4 Estruturas de Controle

Linguagem Java. Introdução. Rosemary Silveira Filgueiras Melo

Programação de Computadores para GI

Introdução à Linguagem de Programação Java 1 INTRODUÇÃO À LINGUAGEM DE PROGRAMAÇÃO JAVA

LÓGICA DE PROGRAMAÇÃO (JAVA) ESTRUTURAS REPETIÇÃO. Professor Carlos Muniz

Classes, instâncias e métodos de acesso. prática

Programação Orientada a Objetos II

PROGRAMAÇÃO ORIENTADA A OBJETOS JAVA

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

Transcrição:

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 imperativas básicas de Java Estrutura de um Programa Tipos Primitivos Estruturas de Controle

Estrutura mínima de um programa em Java class <nome> { public static void main (<parametro>) { <declarações> <comandos> } } Onde main: método por onde se inicia a execução public: qualificador de acesso static: indica que main se aplica à classe void: indica que main não retorna um valor

Exemplo import java.util.scanner; class LeImprime { /** Lê e imprime um string */ public static void main (String[] args) { Scanner le = new Scanner(System.in); String nome; nome = le.next(); System.out.println (nome); } }

Tipos Primitivos boolean char byte short int long float double true ou false caracteres (Unicode) inteiro (8 bits) inteiro (16 bits) inteiro (32 bits) inteiro (64 bits) ponto flutuante (32 bits) ponto flutuante (64 bits)

Booleanos (boolean) Literais: true e false Operadores relacionais: > >= < <= ==!= Operadores lógicos: && (and) (or)! (not) Precedência: unários, aritméticos, relacionais, lógicos (primeiro && e depois )

Strings (String) Não é um tipo primitivo e sim uma classe Literais: a DI \n UFPE \n... Operadores: + (concatenação) ex.: março + de + 98 = março de 98 Note a conversão de inteiro para string Há uma conversão implícita para todos os tipos primitivos

Mais operadores sobre strings Comparação (igualdade) de dois strings a e b a.equals(b) ou b.equals(a) Tamanho de um string a a.length()

Comandos básicos: atribuição Forma geral: <identificador> = <expressão> ex.: x = 12.7; i = i + 1; st = Recife Formas concisas de in(de)cremento: i += 1 i++ equivale a i = i + 1 i -= 1 i-- equivale a i = i - 1

Condicional: if-else Forma geral: if (<expressão-booleana>) <bloco-de-comandos1> [else <bloco-de-comandos2>] Onde: <bloco-de-comandos> é uma seqüência de comandos entre { e }.

Exemplo: maior entre dois numeros class Maior { public static void main (String[] args) { int x, y; x = Util.readInt (); y = Util.readInt (); if (x > y ) System.out.println (x); else if (y > x) System.out.println (y); else System.out.println ( x = y ); }}

Repetição: while Forma geral: while (<expressão-booleana>) <bloco-de-comandos>

Exemplo: soma de 1 a n...... int i, n, s; n = Util.readInt (); i = 1; s = 0; while (i < = n) { s = s + i; i = i + 1; } System.out.println(s);

Leitura Livro texto (Programming in Java) Capítulos 5 (5.1-5.7, 5.15-5.20) e 6 (6.1-6.5) Fatores de Qualidade B. Meyer, Object-Oriented Software Construction, segunda edição, Prentice Hall, 1988 Curso de OO e Java na graduação http://www.di.ufpe.br/~if101

Alguns conceitos básicos de orientação a objetos e Java Objeto, Atributo, Método, Classe e Encapsulamento

Programação Orientada a Objetos Foco nos dados (objetos) do sistema, não nas funções Estruturação do programa é baseada nos dados, não nas funções As funções mudam mais do que os dados

Objeto Conta Bancária Crédito Saldo 875,32 Número 21.342-7 Débito

Estados do Objeto Conta Crédito(20) Crédito Crédito Crédito Saldo Saldo 875,32 875,32 Número Número 21.342-7 21.342-7 Saldo 895,32 Número 21.342-7 Débito Débito Débito

Classe de Contas Bancárias

Classes e Objetos Objetos métodos + atributos estado encapsulado Classes agrupamento de objetos do mesmo tipo

Classe de Contas em Java class Conta { String numero; double saldo; void credito (double valor) {saldo = saldo + valor;} void debito (double valor) {saldo = saldo - valor;} }

Criando Instâncias (Objetos) Forma geral da declaração e criação de objetos Declaração <id-classe> <lista-id>; exemplo: Conta conta1, conta2; Criação <id> = new <id-classe> (<args>); exemplo: conta1 = new Conta (); Combinando declaração e criação <id-classe> <id> = new <id-classe> (<args>) exemplo: Conta conta1 = new Conta ();

Ex.: programa que cria e manipula 1 conta class CriaConta { /** Criando um objeto do tipo Conta */ public static void main (String [] args) { Conta conta1 = new Conta (); conta1.numero = 21.342-7 ; // referencia a atributos conta1.saldo = 0; } } conta1.credito (500.87); // referencia a metodos conta1.debito (45.00); System.out.println(conta1.saldo);

Construtores Além de atributos, classes podem ter construtores servem como interfaces para inicializar objetos possuem o mesmo nome das respectivas classes similares a métodos, mas não têm tipo de retorno pode haver mais de um por classe (overloading) Ex.: class Conta { String numero; double saldo; void credito (double valor) {saldo = saldo + valor;} void debito (double valor) {saldo = saldo - valor;} Conta (String n) {numero = n; saldo = 0;} }

Criando Objetos com Construtores... Conta conta1; conta1 = new Conta( 21.342-7 ); conta1.credito(500.87); conta1.debito(45.00); System.out.println(conta1.saldo);...

Encapsulamento em uma classe (Ref. Dominando o Java, Makron) Métodos públicos Métodos privados Atributos públicos Atributos privados

Controle de Acesso em Java Normalmente, é conveniente proibir o acesso a certos atributos (ou mesmo métodos). Os níveis de proteção extremos são: public - permite acesso a partir de qualquer classe private - permite acesso apenas na própria classe Java oferece outros níveis de acesso que serão estudados posteriormente

Conseqüências de tornar um atributo privado Tentar acessar um componente privado (de fora da classe) resulta em erro de compilação Mas como torná-lo acessível apenas para consulta (leitura)? Isto é possível definindo-se um método que retorna o atributo (na própria classe onde o atributo se encontra)

Classe de Contas com Atributos Privados class Conta { private String numero; private double saldo; void credito (double valor) {saldo = saldo + valor;} void debito (double valor) {saldo = saldo - valor;} String numero() {return numero;} double saldo() {return saldo;} Conta (String n) {numero = n; saldo = 0;} }

Exercício Defina uma classe para representar um candidato a uma eleição, com atributos para armazenar o nome do candidato e o número de votos, ambos privados. Defina um método de acesso para cada atributo, um método para incrementar o número de votos do candidato e um construtor para a classe que recebe como argumento o nome do candidato e inicializa o número de votos com zero. Desenvolva um programa que cria um candidato com nome de sua escolha. Em seguida, deve ser lido um nome. Se o nome lido for o do seu candidato, incrementar o contador de votos. No final, imprimir o nome do candidato e o total de votos.

Leitura Livro texto (Programming in Java) Capítulo 2 (2.1-2.7, 2.10)

Especificação de Requisitos Contexto: Uma biblioteca municipal, deseja informatizar seus cadastros e controlar o empréstimo e reserva de livros. A rede municipal de ensino, possui diversos alunos estes tem a sua disposição uma biblioteca com diversos exemplares de livros. Alguns livros podem ser levados para casa e posterior devolução.

Especificação de Requisitos Contexto: Outros livros não podem ser emprestado, pois são raros e requer mais cuidado. Os empréstimos são gratuitos desde que os livros sejam bem cuidados. Os livros podem ter reservas, e assim que esse livro é devolvido ele é emprestado para quem reservou

Especificação de Requisitos Contexto: A biblioteca necessita de uma listagem dos livros emprestados e devolvido por dia. Uma listagem dos livros emprestado e livros reservados Uma listagem de alunos e livros

Especificação de Requisitos Contexto: O sistema deve possuir uma certa segurança onde somente funcionários autorizados podem realizar empréstimos e devoluções. Os alunos podem acessar o sistema para reservar livros.

Especificação de Requisitos E Agora? O que eu faço?

Especificação de Requisitos Dicas Pense na situação real Lembre-se o uso da orientação objeto é fundamental para a facilidade ou dificuldade do sistema. Pensa nos elementos envolvidos na situação real e principalmente com eles se relacionam

Especificação de Requisitos Algumas Perguntas a serem respondidas? Quais são as classes envolvidas? Qual o relacionamento entre elas? Objetivo é definir a minha hierarquia de classes

Caso de Uso

Diagrama de Classes