Successfully reported this slideshow.

Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)

1,948 views

Published on

Published in: Technology
  • Be the first to comment

Estrutura de Dados em Java (Introdução à Programação Orientada a Objetos)

  1. 1. Introdução à Programação Orientada a Objetos Prof. Adriano Teixeira de Souza
  2. 2.  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
  3. 3.  Dois conceitos estão associados a objetos: eles possuem estados, expressos em variáveis/atributos, e comportamentos, que expressam funcionalidades/métodos. Logo, uma possível definição de objetos pode ser: Um objeto é um artefato de software que é composto por um conjunto de variáveis e os respectivos métodos. Iniciação ao Java – Márcio F. Campos
  4. 4. creditar CreditarSaldo Número875,32 21.342-7 debitar
  5. 5. creditar(20) Creditar creditar Creditar creditarSaldo Número Saldo Número875,32 21.342-7 895,32 21.342-7 debitar debitar
  6. 6.  Objetos comportamento + características métodos + atributos estado encapsulado
  7. 7.  Quando nos referenciamos a conceitos, e não a objetos, estamos tratando de classes. Uma definição para classe é: uma classe é uma referência, um conceito que estabelece quais os métodos e quais as variáveis são comuns a todos os objetos desta classe.
  8. 8.  Classes agrupamento de objetos do mesmo tipo Telefone Fixo Gradiente Philips Celular Iphone 4s
  9. 9. public class NomeDaClasse { CorpoDaClasse }O corpo de uma classe pode conter • atributos • métodos • construtores (inicializadores) • outras classes...
  10. 10. public class <nome> { public static void main (String[] args) { <declarações> <comandos> }} Onde, main: método por onde se inicia a execução public: parâmetro de acesso static: indica que main se aplica à classe void: indica que main não retorna um valor
  11. 11. public class LeImprime { /** Lê e imprime um string */ public static void main(String[] args) { String nome; nome = Util.readStr(); System.out.println(nome); }}
  12. 12. public class Livro { private int anoDePublicacao; private int numeroDePaginas; private String titulo; ...} 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
  13. 13.  Primitivos  Referência ◦ char ◦ classes (String, ◦ int Object, Livro, ◦ boolean Conta, etc.) ◦ double ◦ interfaces ◦ ... ◦ arraysOs elementos de um tipo primitivo são valores,enquanto os elementos de um tipo referênciasão (referências para) objetos!
  14. 14.  Não é um tipo primitivo e sim uma classe Literais: “” “a” “POLI n UPE n” Operadores: + (concatenação)ex.: “maio ” + “ de ” + 99 = “maio de 99” Note a conversão de inteiro para string Há uma conversão implícita para todos os tipos primitivos
  15. 15.  Comparação (igualdade) de dois strings a e b String a ... String b ... a.equals(b) ou b.equals(a) Tamanho de um string a a.length()
  16. 16. public class Livro { private int anoDePublicacao; ... }A palavra reservada private indica que osatributos só podem ser acessados (isto é,lidos ou modificados) pelas operações daclasse correspondente
  17. 17.  Java não obriga o uso de private, mas vários autores consideram isto uma pré-condição para programação orientada a objetos Grande impacto em extensibilidade Usem private!
  18. 18. 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 especificar que um atributo deve ser inicializado com um valor específico
  19. 19. public class Conta { private String numero; private double saldo; public void creditar(double valor) { saldo = saldo + valor; } ...}Um método é uma operação que realiza ações e modifica os valores dos atributos do objeto responsável pela sua execução
  20. 20. parâmetrospublic class Conta { do método ... public void debitar(double valor) { saldo = saldo - valor; }} tipo de corpo do retorno método Por quê o método debitar não tem como Parâmetro o número da conta?
  21. 21.  O tipo do valor a ser retornado pelo método Nome do método Lista, possivelmente vazia, indicando o tipo e o nome dos argumentos a serem recebidos pelo método Usa-se void para indicar que o método não retorna nenhum valor, apenas altera os valores dos atributos de um objeto
  22. 22. public class Conta { private String numero; private double saldo; public String getNumero() { return numero; } public double getSaldo() { return saldo; } ...}Os métodos que retornam valores comoresultado usam o comando return
  23. 23.  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. 24.  Os objetos se comunicam para realizar tarefas A comunicação é feita através da troca de mensagens ou chamada de métodos Cada mensagem é uma requisição para que um objeto execute uma operação específica conta.creditar(45.30) variável contendo referência para nome do objeto método a ser executado
  25. 25. concatenação depublic class Conta { private String numero; String e conversão private double saldo; de tipos public void imprimirSaldo() { System.out.println("Conta: " + numero + " Saldo: R$" + saldo); } ...}A tela do computador é representada em Java por um objeto especial, armazenado na variável System.out
  26. 26.  Faça um programa que: ◦ Leia um vetor “turma” de 5 alunos ◦ Cada registro/Objeto de aluno deve ter o número de matrícula do aluno e suas notas de quatro bimestres. ◦ Imprima a lista de matrícula e notas de cada aluno ◦ E finalmente calcule a média das quatro notas e imprima a matricula e a média calcula para cada aluno. Prof. Adriano Teixeira de Souza
  27. 27.  Escreva um programa para cadastrar 10 produtos de uma empresa. As informações necessárias são: código, nome do produto, quantidade e preço. Deve ser usada uma estrutura para a construção deste cadastro. O programa deverá apresentar um menu de opções semelhante ao apresentado abaixo: Escolha sua opção: ◦ 1 – Cadastrar produto ◦ 2 – Listar todos ◦ 4 – Sair Prof. Adriano Teixeira de Souza

×