A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Orientação a Objetos Paradigma. Davi Pires Revisão Dúvidas da aula passada? –Características de Java –Compilador vs. Interpretador.

Apresentações semelhantes


Apresentação em tema: "Orientação a Objetos Paradigma. Davi Pires Revisão Dúvidas da aula passada? –Características de Java –Compilador vs. Interpretador."— Transcrição da apresentação:

1 Orientação a Objetos Paradigma

2 Davi Pires {dpr@cin.ufpe.br} Revisão Dúvidas da aula passada? –Características de Java –Compilador vs. Interpretador. –Hello World –Tipos Primitivos –Operadores –Casts Ok?

3 Davi Pires {dpr@cin.ufpe.br} Trabalhando com Objetos Classes Métodos Atributos Construtores Objetos Pacotes

4 Davi Pires {dpr@cin.ufpe.br} Classes “Fôrmas” de objetos. Define propriedades comuns a um conjunto de objetos pertencentes à classe. Instanciação Classe Objetos ou Instâncias

5 Davi Pires {dpr@cin.ufpe.br} Classes Definindo uma classe class [NomeDaClasse] { //aqui vem o corpo da classe. } [ modificadores ] class [NomeDaClasse] { //aqui vem o corpo da classe. }

6 Davi Pires {dpr@cin.ufpe.br} Classes Devem estar definidas em arquivos com o mesmo nome da classe. Tudo que você fará em Java estará dentro de uma classe. Acostume-se com elas!

7 Davi Pires {dpr@cin.ufpe.br} O que tem no corpo da classe? Atributos –“Características” de um objeto daquela classe. Construtores –Inicializadores de objetos. Métodos –Ações passíveis de serem executadas sobre os objetos daquela classe.

8 Davi Pires {dpr@cin.ufpe.br} Atributos Também chamados de variáveis de instância. Variáveis que pertencem a cada objeto. Todo objeto tem, com valores possivelmente diferentes. Podem ter valores padrão. numero saldo Conta 1234 0,50 3456 10,00 Conta c1 Conta c2

9 Davi Pires {dpr@cin.ufpe.br} Atributos Exemplos: –Atributos1.java –Conta.java

10 Davi Pires {dpr@cin.ufpe.br} Métodos Ações passíveis de serem executadas sobre objetos de uma classe. Podem receber parâmetros para executar sua computação. Podem retornar valores para quem chamou o método. Exemplo: dado o objeto c1, do tipo Conta: –c1.getSaldo(): não tem parâmetros e deve retornar o saldo da conta c1 (que é um double). –c1.creditar(3.0): credita $3,00 na conta c1. Não precisa retornar nada (a princípio).

11 Davi Pires {dpr@cin.ufpe.br} Métodos Assinatura de Métodos. doublegetSaldo ( lista de parâmetros )Tipo de RetornonomeDoMetodo Exemplo: ( ) voidcreditar( double valorASerCreditado ) voidtransferir( double valorASerTransferido, Conta destino )

12 Davi Pires {dpr@cin.ufpe.br} Lista de parâmetros –Pode ser vazia Tipo de retorno –Tipo void: indica que não o método não retorna nada. Parâmetros só são visíveis dentro dos métodos. Variáveis locais. Métodos doublegetSaldo( ) voidcreditar( double valorASerCreditado )

13 Davi Pires {dpr@cin.ufpe.br} O comando ‘return’ Em métodos com tipo de retorno diferente de void, precisamos retornar um valor. O valor retornado é especificado usando o comando return; Após atingir a cláusula return, a execução do método é interrompida.

14 Davi Pires {dpr@cin.ufpe.br} Como é mesmo o corpo de uma classe? Já temos bastante coisa para preencher o corpo de uma classe agora. Veja em ContaComMetodos.java o que você já sabe fazer. Faça os 2 exercícios mostrados no arquivo. Compilem o arquivo [use o comando javac] para checar se há erros.

15 Davi Pires {dpr@cin.ufpe.br} Enfim, Objetos! Java é Orientada a Objetos. –O que é isso? O que é um paradigma? pa.ra.dig.ma: s. m. –1. Modelo, protótipo. –2. Gram. Conjunto de fórmulas de palavras variáveis que servem de modelo para as demais do mesmo grupo mórfico. pa.ra.dig.ma: s. m. –1. Modelo, protótipo. –2. Gram. Conjunto de fórmulas de palavras variáveis que servem de modelo para as demais do mesmo grupo mórfico.

16 Davi Pires {dpr@cin.ufpe.br} Objetos Programação orientada a objetos (POO) –quer dizer que tudo que você fará serão objetos. –Classes são tipos. –Objetos são variáveis desse tipo. –Abstrações de objetos do mundo real são obtidas através da instanciação de objetos de classes que representem esses objetos. –É a maneira como você analisa um problema real. –É uma maneira de ver o mundo.

17 Davi Pires {dpr@cin.ufpe.br} Orientação a Objetos “Numa biblioteca são guardados livros. Uma (ou mais) bibliotecárias organizam os livros em prateleiras. Os usuários podem alugar os livros. Ao fim do prazo estabelecido, devem retorna-lo à Biblioteca entregando-o à bibliotecária. Usuários VIP podem alugar mais de 3 livros por mês.”

18 Davi Pires {dpr@cin.ufpe.br} Composição Objetos como atributos de objetos. class Data { int dia, mes, ano; } class Usuario { //... Data dataDeNascimento; }

19 Davi Pires {dpr@cin.ufpe.br} Composição Permite reutilização de código. Modularização. Escreve e testa –se funcionar, pode ser usado em outras partes do projeto. Isolamento dos bugs em partes separadas do projeto facilita manutenção. Enfim, ALTA QUALIDADE DE SOFTWARE PODE SER ATINGIDA COM POO.

20 Davi Pires {dpr@cin.ufpe.br} Instanciando objetos O comando new: –Cria um novo objeto da classe especificada e inicializa seus atributos. –Pode receber parâmetros, desde que definido dentro da classe. Construtores –Métodos especiais dentro das classes especificando como devem ser inicializados os atributos.

21 Davi Pires {dpr@cin.ufpe.br} Construtores Não têm tipo de retorno. Têm o mesmo nome da classe. class Data { int dia, mes, ano; Data (int a, int b, int c) { dia = a; mes = b; ano = c; }

22 Davi Pires {dpr@cin.ufpe.br} Instanciando objetos Exemplo: –Usando um construtor padrão: ContaExemplo.java –Usando um construtor específico. ContaExtendida.java

23 Davi Pires {dpr@cin.ufpe.br} A palavra this Refere-se sempre ao objeto sobre o qual o método foi chamado. Num construtor, refere-se ao objeto que está sendo instanciado.

24 Davi Pires {dpr@cin.ufpe.br} A palavra this Geralmente é dispensável, mas facilita a leitura do código. class Data { int dia, mes, ano; Data (int a, int b, int c) { this.dia = a; this.mes = b; this.ano = c; }

25 Davi Pires {dpr@cin.ufpe.br} A palavra this Exemplo –ContaThis.java

26 Davi Pires {dpr@cin.ufpe.br} O valor null Variáveis cujos tipos são objetos são por default inicializadas com valor null. Não é permitido acessar métodos ou atributos de objetos null. NullPointerException!

27 Davi Pires {dpr@cin.ufpe.br} Sobrecarga de Construtores Classes podem ter vários construtores. Cada um com uma lista diferente de parâmetros. Exemplos: –ContaConstrutores.java

28 Davi Pires {dpr@cin.ufpe.br} E agora, o corpo da classe...? A nossa classe Conta agora pode ser extendida para incluir construtores. Assim ela poderá ser propriamente instanciada. Já é uma boa classe para ser incluída num projeto real. –Teste antes!

29 Davi Pires {dpr@cin.ufpe.br} Exercício Escolha um restaurante que você visite com alguma freqüência. Imagine como você modelaria um software para este restaurante. Quanto maior a automatização, mais $! E também maior a complexidade! Cuidado!

30 Davi Pires {dpr@cin.ufpe.br} Exercício Escrevam essa modelagem da forma que quiserem –Caixas e setas, texto, UML... Duplas, se quiserem. Escrevam pelo menos 2 classe em Java Pensem em Objetos! -djfskjdf -jkbsdkfjsjdfksbdfksdjfsfksjdbks fbdksjfskkjfsgjdsfkgbjdslçkfjgbç sdkfjgbçdksjfbgçkdfsjgbsdkç -kjdbfsk -sdjsfkgbdlçsifgbdfgjsdfkgsgfkd sfgbdslkfjgbldskjfgbsdkljjgbdkfj gbdkfjgbdfjgbsçfogbsdçfkgjsdç gksdffsdlfknsdlfsfd

31 Este trabalho está licenciado sob uma Licença Creative Commons Atribuição-Uso Não-Comercial-Compatilhamento pela mesma licença. Para ver uma cópia desta licença, visite http://creativecommons.org/licenses/by-nc-sa/2.0/br/ ou envie uma carta para Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.


Carregar ppt "Orientação a Objetos Paradigma. Davi Pires Revisão Dúvidas da aula passada? –Características de Java –Compilador vs. Interpretador."

Apresentações semelhantes


Anúncios Google