Introdução à Orientação a Objetos em Java Prof. Gustavo Wagner (Alterações) Slides originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB.

Slides:



Advertisements
Apresentações semelhantes
Programação orientada a objetos
Advertisements

Programação em Java Prof. Maurício Braga
Estruturas de Repetição
Paulo Marques Hernâni Pedroso
Prof. Thiago Pereira Rique
Tipos de dados, Variáveis, Expressões e Operadores
Programação para Engenharia I
Orientação a Objetos: Encapsulamento e Classificação
Programação para Engenharia I
Wagner Santos C. de Jesus
Paradigmas da Programação – Semestre 1 – Aula 3
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.
Classes e objetos Arrays e Sobrecarga
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.
Linguagem técnica de programação I Java – REVISÃO
CRIANDO OBJETOS EM JAVA
JAVA: Conceitos Iniciais
Aula prática 13 Orientação a Objetos – C++ Parte 1
JAVA Orientação a Objetos
Definição de Tipos Estruturas e Ponteiros
Estrutura de dados, pseudocódigo
Atributos, Encapsulamento e Interface em Java
Programação I Aula 2 (Métodos)
Linguagem de Programação JAVA
Prof. Daniel Aula 03.  Criar Projeto  Criar Pacote  Criando classes  Meu primeiro programa  Compilar  Comentários  Variáveis.
Introdução à Programação Orientada a Objetos com Java
Classes, Objetos, Atributos e Métodos JAVA
Java Bytecode Software Básico Mitsuo Takaki.
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++
By Ducheno Kelly Centro de Formação São Domingos.
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS EM JAVA
Wagner Santos C. de Jesus
Orientação a Objetos Parte II
Programação Orientada a Objetos - Java
Implementação Orientada a Objetos – Aula 03
Linguagem de Programação C#
Programação Orientada a Objetos - Java Professor: Jean Carlo Mendes.
Programação Orientada a Objetos - Java
Programação I Aula 3 (Entrada de Dados) Prof. Gilberto Irajá Müller Última atualização 11/3/2009.
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
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.
Aula Prática 3 Funções Monitoria Introdução à Programação.
Aula Prática 3 Monitoria IP/CC (~if669). Relembrando Padronização Comentários Identação Significado em nomes de variáveis Depuração de Erros.
1 Marcio de Carvalho Victorino JAVA. 2 Declaração de Atributos [ ] [transient] [volatile] [static] [final] ; controle de acesso –public, package (default),
Programação I Aula 1 Prof. Gilberto Irajá Müller Última atualização 2/3/2009.
JAVA Sintaxe.
Aula Prática 3 Funções Monitoria Introdução à Programação.
Conceitos Básicos e Manipulação de Objetos
Fundamentos de linguagens 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.
Aula Prática 13 Orientação a Objeto Monitoria
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 Paradigma. Davi Pires Revisão Dúvidas da aula passada? –Características de Java –Compilador vs. Interpretador.
Programação Computacional Aula 8: Entrada e Saída pelo Console Prof a. Madeleine Medrano
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota
Módulo II Capítulo 1: Orientação a Objetos
UCSal – Bacharelado em Informática Tópicos Especiais em Informática II Profa. Semíramis Assis
Profa. Maria Augusta Constante Puget
Array e ArrayList LPOO – 01/09/14.
Módulo I Capítulo 7: Funções e Procedimentos William Ivanski Curso de Programação C#
Noções de projeto orientado a objetos - camadas Prof. Gustavo Wagner (alterações) Prof. Tiago Massoni (Slides originais) Desenvolvimento de Sistemas FATEC-PB.
Strings e Arrays Prof. Gustavo Wagner (Alterações) Prof. Tiago Massoni (Slides Originais) Desenvolvimento de Sistemas FATEC-PB  Centro de Informática,
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
Herança e Polimorfismo Prof. Gustavo Wagner (Alterações) Prof. Tiago Massoni (Slides Originais) Desenvolvimento de Sistemas FATEC-PB  Centro de Informática,
Ambientação com a Sintaxe de Java: parte 2 Prof. Gustavo Wagner Slides Originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB  Centro de.
Lógica de Programação Aula 06 Prof. Marcelo Marcony.
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
Transcrição da apresentação:

Introdução à Orientação a Objetos em Java Prof. Gustavo Wagner (Alterações) Slides originais: Prof. Tiago Massoni Desenvolvimento de Sistemas FATEC-PB  Centro de Informática, UFPE

2 Programação estruturada x Orientação a Objetos Programação estruturada (Pascal,C) –Funções são abstrações para resolver, no mundo computacional, um problema –Estruturas para armazenar os dados Programação Orientada a Objetos –Foco nos dados ao invés de operações –Representação de objetos do mundo real (estado + comportamento)

3 Programação orientada a objetos Uso de abstrações bem mais próximas do mundo do problema –Objetos, não funções Em um programa, “tudo” é objeto Um programa é um monte de objetos dizendo aos outros o que fazer –Mensagens

4 Objeto = DVD PLAY > 1:38 > >>| |<< Operações que o DVD executa Estado atual do DVD – o que ele está fazendo

5 Número Saldo ,32 Creditar Debitar Objeto Conta Bancária

6 Número Saldo ,32 Crédito Débito Estados do Objeto Conta Número Saldo ,32 Creditar Debitar Creditar(20) Número Saldo ,32 Crédito Débito Número Saldo ,32 Creditar Debitar

7 Orientação a Objetos O objeto é uma estrutura que possui dados e operações –Os dados, inclusive, podem ser outros objetos (atributos) –As operações manifestam o comportamento de um objeto quando solicitado (métodos) Estado encapsulado –Incluir dentro de um objeto tudo que lhe diz respeito

8 Classe de Contas Bancárias Objetos semelhantes moldados por uma classe

9 Modelagem Vamos modelar uma locadora de vídeo!

10 Criando moldes: classes em Java modificador class Nome { CORPO } public class Conta { (atributos) (métodos) } “Botões” = comportamento “Visor” = estado

11 Padrão de nome de classe Nome de classe deve começar com letra maiúscula –Ex: Conta, Cliente, Banco, Endereco Nomes compostos não são separados por _. A primeira letra da palavra seguinte é maiúscula. –Ex: PessoaJuridica, PessoaFisica Evite abreviações no nome e use nomes com alguma relação com o que a classe modela.

12 Atributos em Java Cada atributo tem um tipo específico que caracteriza as propriedades dos objetos da classe int e String denotam os tipos cujos elementos são inteiros e strings public class Livro { private int anoDePublicacao; private String titulo;... }

13 Tipos em Java Primitivos –char –int –boolean –double –... Referência –classes ( String, Object, Livro, Conta, etc.) Os elementos de um tipo primitivo são valores, enquanto os elementos de um tipo referência são (referências para) objetos!

14 Objetos e Classes Programa é uma sequência de operações em objetos de várias classes –Objetos: área de memória –Precisamos do tipo referência para usá-los c Número Saldo ,32 numero saldo ,00 Creditar Debitar c.numero = 21342; c.saldo = 895.0; Variável do tipo Conta

15 Modificadores de acesso e informação escondida Atributos podem ser –public: acesso sem restrições em qualquer usuário do objeto –private: restringe o acesso apenas à classe Boa prática “esconder” os atributos –Sempre private

16 Informação Escondida e Java A palavra reservada private indica que os atributos só podem ser acessados (isto é, lidos ou modificados) pelas operações internas da classe correspondente public class Livro { private int anoDePublicacao;... }

17 Definindo Atributos em Java public class Pessoa { private int anoDeNascimento; private String nome, sobrenome; private boolean casado = false;... } Vários atributos de um mesmo tipo podem ser declarados conjuntamente Podemos iniciar um atributo com um valor específico

18 Tipos de variáveis Variáveis locais –Devem ser iniciadas –Métodos, funções, main Atributos –Iniciadas automaticamente –Classes

19 Padrão de nome de atributo Nomes de atributos devem começar com letra minúscula –Ex: int ano; Nomes compostos não são separados por _. A primeira letra da palavra seguinte é maiúscula. –Ex: int anoDePublicação; Evite abreviações e use nomes com alguma relação com o que o atributo modela.

20 Aula 2 Métodos e Acesso;

21 Definindo Métodos em Java public class Empregado {... public void aumentarSalario(double valor) { salario = salario + valor; } corpo do método parâmetros do método tipo de retorno Modificador de acesso

22 Métodos em Java public class Empregado { String nome; double salario; Endereco moradia; void aumentarSalario(double valor) { salario = salario + valor; }... } Um método é uma operação que age e modifica os valores dos atributos do objeto onde ele executa Por que não tem o parâmetro “código do funcionário”?

23 O Corpo do Método Comandos que determinam as ações do método Estes comandos podem –realizar simples atualizações dos atributos de um objeto –retornar valores –executar ações mais complexas como se comunicar com outros objetos

24 Tipos de variáveis Variáveis locais Atributos Parâmetros –Iniciadas na chamada –Métodos, funções

25 Comunicação entre Objetos (Mensagens) Número Saldo ,32 Crédito salário nome 200,00 Zeca mudarRua Empregado Zeca ender. Saldo 875,32 bairrorua Bessa A-1 CEP mudarRua Endereço de Zeca mensagem

26 Sobrecarga de Métodos Métodos diferentes podem ter o mesmo nome, diferenciados pela quantidade de parâmetros class Conta{... public void debitar(double v){ saldo = saldo – v; } public void debitar(int v){ saldo = saldo – v; }

27 Métodos de Acesso Tentar ler ou escrever em um atributo privado do objeto resulta em erro de compilação –Colocar public? Podemos definir 2 métodos que acessam o atributo (na própria classe onde o atributo se encontra), para leitura e escrita Métodos de acesso –getXXX() –setXXX()

28 Métodos de Acesso public class Livro { private int anoDePublicacao; private String titulo; public int getTitulo(){ return titulo; } public void setTitulo(String novoTit){ titulo = novoTit; } Método que retorna valores

29 Informação Escondida e Métodos Java não obriga o uso de private, mas isso é considerado uma prática de programação orientada a objetos Grande impacto em manutenção Exemplo: Pessoa e sua idade

30 Referência this public class Livro { private int anoDePublicacao; private String titulo; public int getTitulo(){ return this.titulo; } public void setTitulo(String titulo){ this.titulo = titulo; } Variável que referência ESTE objeto, o corrente

31 Encapsulamento em uma classe Métodos públicos Métodos privados Atributos públicos Atributos privados

32 Modificadores de acesso Método privados –Só podem ser chamados à partir da mesma classe –Para operações úteis apenas internamente –Seguem encapsulamento Atributos públicos –Dificilmente usados (apenas para constantes)

33 Exercício Criar classe Ponto, que possui duas coordenadas x e y e métodos de acesso (get,set) Criar classe Reta, que possui dois pontos, e o seguinte método: public void mudaPosicao(int x1,int y1,int x2,int y2){...}

Aula Prática Orientação a Objetos 1

35 Atividades Criar novo projeto (Banco) Crie uma classe Cliente contendo como atributos o cpf e o nome do cliente Criar os métodos de acesso (get/set)

Atividades Criar classe Conta –Dados: número (int) e saldo (double) –Gerar métodos de acesso automaticamente –creditar, debitar –transferirDe(Conta destino) –transferirPara(Conta origem)