Orientação a Objetos com Java

Documentos relacionados
Prof. Jhonatan Fernando

Introdução a Java. Hélder Nunes

Orientação a Objetos

EXERCÍCIOS SOBRE ORIENTAÇÃO A OBJETOS

Técnicas de Programação II

Programação por Objectos. Java

Java TM e o Modelo de Objetos

Programação Orientada a Objetos em Java

Roteiro do Programa e Entrada/Saída

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

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

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

UML Aspectos de projetos em Diagramas de classes

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

Diagrama de Classes. Um diagrama de classes descreve a visão estática do sistema em termos de classes e relacionamentos entre as classes.

PROGRAMANDO EM C# ORIENTADO A OBJETOS

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

Análise e Projeto Orientados por Objetos

Aula 1 Tipo Abstrato de Dados

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

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

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

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

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

Introdução à Programação. Interface, Polimorfismo e Dynamic Binding

Profº. Enrique Pimentel Leite de Oliveira

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

Java. Marcio de Carvalho Victorino

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

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

Exercícios de Revisão Java Básico

Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos. Relacionamentos entre objetos

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

Tópicos em Engenharia de Computação

Programação Orientada a Objeto

Guia de Fatores de Qualidade de OO e Java

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

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

Encapsulamento de Dados

PHP: Programando com Orientação a Objetos

Projeto de Software Orientado a Objeto

Java 2 Standard Edition Como criar classes e objetos

Reuso com Herança a e Composiçã

Conteúdo. Disciplina: INF Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Capítulo 3. Programação por objectos em Java

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

UML Unified Modeling Language

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

PHP INTRODUÇÃO CLASSES E OBJETOS

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

Capítulo 14. Herança a e Polimorfismo. Rui Rossi dos Santos Programação de Computadores em Java Editora NovaTerra

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

Orientação a Objetos e a Linguagem Java

Implementando uma Classe e Criando Objetos a partir dela

Influenciam nossa percepção; ajudam-nos a organizar e a coordenar a Classes estimulam projeto centrado em dados:

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE ALAGOAS CURSO TECNICO EM INFORMATICA DISCIPLINA:

Desenvolvimento Web TCC Turma A-1 /

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

Linguagem de Programação III

Programação Orientada a Objetos C ++ 4 Conceitos de OO em Java Classes e Objetos

Orientação à Objetos. Aécio Costa

DEFINIÇÃO DE MÉTODOS

Introdução a POO. Introdução a Linguagem C++ e POO

Noções sobre Objetos e Classes

O que é um algoritmo? O que é um programa? Algoritmos. Programas. Aula 1 Tipo Abstrato de Dados

UNIVERSIDADE FEDERAL DO PARANÁ

Tipo Abstrato de Dados

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

Análise e Projeto Orientados por Objetos

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

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

Herança. Alberto Costa Neto DComp - UFS

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

UML & Padrões. Aula 1 Apresentação. Profª Kelly Christine C. Silva

Análise de Programação

Capítulo 8. Introdução UML

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

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

Curso de PHP. FATEC - Jundiaí. A programação orientada a objetos (object-oriented oriented programming

3. PARADIGMA ORIENTADO A OBJETOS

Orientação a Objetos com Java

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.

Métodos de Construção de Software: Orientação a Objetos. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes

Programação aplicada de computadores Andréa Maria Pedrosa Valli

MODELAGEM VISUAL DE OBJETOS COM UML DIAGRAMA DE CLASSES.

Objetos não existem isolados

Programação com Objectos. Processamento de Dados I. 4. Classes Abstractas

Programação Orientada por Objetos

Unidade IV: Ponteiros, Referências e Arrays

Banco de Dados. Modelagem de Dados com MER. Prof. Walteno Martins Parreira Jr

Sistemas Distribuídos

2ª Lista de Exercícios Orientação a Objetos

Algoritmos e Programação II. Sobrecarga

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Introdução ao Paradigma Orientado a Objetos. Principais conceitos

Módulo 06 Desenho de Classes

4.2. UML Diagramas de classes

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

Transcrição:

Orientação a Objetos com Java Julio Cesar Nardi julionardi@yahoo.com.br 2011/2

Apresentação 3: Orientação Objetos: Conceitos Básicos Objetivos: Compreender os Conceitos Básicos da Orientação a Objetos; Definir Classes com Dados e Comportamento; Criar Classes Java com Atributos e Métodos.

Agenda Conceitos OO Objeto, Classe, Atributo, Método, Associação, Composição, Herança Abstração, Encapsulamento, Modularidade, Hierarquia Sobrecarga, Polimorfismo, Ligação Dinâmica Modelagem OO UML OO em Java (básico) Classes, Atributos, Métodos, Construtores, Objetos

Orientação a Objetos (Aula 01) Mundo Real Problema Humanos Modelo de Solução Máquinas Código de Máquina Aula 01: Começando com OO e Java

Orientação a Objetos Objetivos: Trabalhar com conceitos intuitivos, mais próximos do Mundo Real; O mundo é composto por objetos Objetos: Objetos são capazes de encapsular suas propriedades e sua lógica, disponibilizando apenas o que é útil através de suas interfaces Exemplos: TV, Carro, Produto, Livro, Caneta, Cor, Pessoa, Cidade, Departamento, Animal, Conta, Voo, Aula, Reserva, Sentimento etc. A B C D E F

Objetos O mundo é povoado por elementos que interagem entre si, em que cada um deles desempenha um papel específico. Um objeto é uma entidade que incorpora uma abstração relevante no contexto de uma aplicação. Um Objeto: Possui Estado bem determinado; Exibe um Comportamento bem definido; Tem Identidade única.

Classes Uma classe descreve um conjunto de objetos com as mesmas propriedades, o mesmo comportamento, os mesmos relacionamentos com outros objetos, e a mesma semântica. Classe x Objeto: Todo objeto pertence a uma classe, ou seja, é instância de uma classe. Modelagem: Classe atributos... métodos()...() nome saldo OO e Java Conta depositar() sacar() imprimirsaldo()

Membros de Classes Uma classe é composta por: Dados, representando as Características: Variáveis ou Atributos Funcionalidades, representando o Comportamento Funções ou Métodos

Atributos Atributos representam os dados que os objetos de uma classe devem ter: As classes guardam quais são as características; Os objetos guardam os valores dessas características. Exemplo: Classe Pessoa: nome, altura, peso, sexo, idade Objeto Maria : Maria, 1,65, 55, F, 22 Objeto João : João, 1,80, 75, M, 25 Encapsulamento: atributos de um objeto devem ser acessados somente pelos seus métodos.

Métodos Representam as funcionalidades que os objetos de uma classe devem ter: Métodos são definidos nas classes, e podem ser chamados (invocados) a partir de seus objetos. Exemplo: Classe TV: ligar(), desligar(), mudar canal(), aumentarvolume(). Interface: os métodos públicos definem a interface de uma classe, permitindo acesso a seus dados e realizando operações úteis. Classes/objetos se comunicam através de mensagens (chamadas a métodos)

OO em Java Criação de Classes public class Conta {...} Criação de Atributos private double saldo = 0.0; Criação de Métodos cliente saldo Conta depositar() sacar() imprimirsaldo() public void imprimirsaldo() {...} Criação de Objetos new Conta(); A B C D E F A B C D E F

OO em Java Criação de Objetos new <nome classe>(); new Conta(); Criação de Classes public class <nome classe> {...} public class Conta {...} Criação de Atributos <visibilidade> <tipo> <nome> [=<valor>]; private double saldo = 0.0; Criação de Métodos <visibilidade> <retorno> <nome> (<argumentos>) {...} public double obtersaldo() {...}

/** Classe Conta. Responsável por manipular as Contas Bancárias. */ public class Conta { Conta /** Nome do Cliente */ private String cliente; cliente : String /** Saldo da Conta */ saldo : double private double saldo; /** Construtor padrão. */ public Conta() { } /** Deposita um valor na conta.*/ public void depositar(double valor) { this.saldo += valor; } /** Saca um valor da conta. */ public void sacar(double valor) { this.saldo -= valor; } depositar(valor : double) : void sacar(valor : double) : void imprimirsaldo() : void } /** Saca um valor da conta. */ public void imprimirsaldo() { System.out.println("Prezado, "+ cliente); System.out.println("Seu saldo atual é: R$ "+ saldo); } OO e Java

Java: Objetos Objetos são criados utilizando o operador new new <nome classe>([argumentos]); Cria um objeto na memória e retorna a referência para o objeto; Construtor da classe é executado; Variáveis são inicializadas; Objetos são destruídos quando inacessíveis (GC) Exemplos: String nome = new String( José ); Conta contacliente = new Conta(nome, 0.0); int i = 100; //???

Java: Classes Classes são criadas com a palavra chave class Nome da classe pública deve ser igual ao nome do arquivo Pode haver mais de uma classe no mesmo arquivo, e até mesmo classes dentro de outras classes As classes tipicamente contém: Atributos Métodos Construtores

Java: Classes /** Classe Conta. */ public class Conta { /** Atributos */ private String nome; private int numero; private double saldo; /** Construtor */ public Conta() { this.saldo = 0.0; } } /** Métodos */ public void depositar(double valor) {...} public void sacar(double valor) {...} OO e Java

Java: Atributos Atributos são declarados nas classes e possuem uma visibilidade, um tipo, um nome e um valor de inicialização. Sintaxe: [<visibilidade>] <tipo> <nome> [=<valor>]; Podem ser de tipos primitivos ou objetos Podem pertencer aos objetos ou à classe (static) Exemplo: private String nome = ; public int valor = 0; protected Data = null;

Java: Atributos A visibilidade dos atributos deve ser mantida privada sempre que possível: Encapsulamento! Atributos podem ser acessados através do operador. (ponto): int maximo = Integer.MAX_VALUE;

Java: Métodos Métodos são definidos nas classes e possuem: Visibilidade, Tipo de Retorno, Nome [Argumentos (ou parâmetros)] Corpo [Retorno] Sintaxe: [<visibilidade>] <retorno> <nome> ([<argumentos>]) { <corpo> [<retorno>] }; Exemplo: public int multiplicar(int a, int b) { int produto = a * b; return produto; }

Java: Métodos Podem pertencer a objetos ou à classe (static) Podem ter visibilidades variadas, dependendo da necessidade Os métodos de interface normalmente são públicos Podem ser abstratos (sem corpo) ou finais (sem sobreescrita) São acessado através do operador. (ponto): double saldo = contacliente.obtersaldo(); int produto = calculadora.multiplicar(7,13);

Exercícios (1) Crie a classe ContaBancaria de forma que seja possível: Saber o nome do cliente, número da conta e saldo atual; Realizar depósitos e saques; Imprimir o saldo (com cliente, número e saldo atual). Crie uma classe de aplicação (com método main), que manipule objetos do tipo ContaBancária: Crie 3 contas de clientes diferentes, realizar depósitos e saques e imprimir os saldos. Implemente uma funcionalidade de transferência entre contas;

Exercícios (2) Modele a classe Calculadora, que seja capaz de realizar as seguintes operações: Operações básicas (soma, subtração, multiplicação e divisão) de dois números; Seno, cosseno; Dica: procure a classe java.lang.math na documentação da API Java Implemente estes métodos como estáticos Implemente a classe calculadora com as funcionalidades modeladas e crie uma classe de aplicação que realize operações. Pergunta: é necessário criar objetos calculadora?

Apresentação 3: Orientação Objetos: Conceitos Básicos Objetivos: Compreender os Conceitos Básicos da Orientação a Objetos; Definir Classes com Dados e Comportamento; Criar Classes Java com Atributos e Métodos.