Usando Mais Objetos e Classes Simples - PowerPoint PPT Presentation

1 / 26
About This Presentation
Title:

Usando Mais Objetos e Classes Simples

Description:

Usando Mais Objetos e Classes Simples – PowerPoint PPT presentation

Number of Views:96
Avg rating:3.0/5.0
Slides: 27
Provided by: Este135
Category:

less

Transcript and Presenter's Notes

Title: Usando Mais Objetos e Classes Simples


1
Usando Mais Objetos e Classes Simples


2
Classe Rinoceronte


public class Rinoceronte double Peso
int idade boolean velho  
Rinoceronte(double p, int i) Peso
p idade I if (idade gt 40)
velho true   void
andar() System.out.println("Rino
andando " 1/Peso "km/h")   void
comer() System.out.println("Rino
comendo")   void dormir()
System.out.println("Rino dormindo")  
3
Classe Antilope


public class Antilope Antilope()
void andar()
System.out.println("Anti correndo")
void comer() System.out.println("An
ti comendo") void dormir()
System.out.println("Anti dormindo")
4
Classe Hipopotamo


public class Hipopotamo Hipopotamo()
void andar()
System.out.println("Hipo andando")
void comer() System.out.println("Hi
po comendo") void dormir()
System.out.println("Hipo dormindo")
5
Classe Coordenador


class Coordenador public static void
main(String arg) Rinoceronte rino1
new Rinoceronte(10, 1) Rinoceronte rino2
new Rinoceronte(12, 50) Antilope anti new
Antilope() Hipopotamo hipo1 new
Hipopotamo() Hipopotamo hipo2 new
Hipopotamo() Hipopotamo hipo3 new
Hipopotamo()   rino1.dormir()
anti.comer() hipo1.dormir()
hipo1.andar() hipo2.andar()
hipo3.comer() if (! rino2.velho )
rino2.andar()
Não sabemos quem é que está fazendo uma ação,
falta um identificador para cada objeto
6
O tipo String
Em JAVA o tipo String não é primitivo Foi
construida uma classe especial para lidar com
ela. String nome nome Meu nome


7
O tipo String

s.substring(x) fornece a cadeia de caracteres
iniciando no caractere de número x de s e indo
até o final de s. s.substring(x, y) fornece a
cadeia de caracteres iniciando no caractere de
número x de s e indo até o caractere de número
y-1. s.length() fornece um valor inteiro que
corresponde à quantidade de caracteres de
s. s.toUpperCase() fornece a cadeia de
caracteres similar à cadeia s, porém convertendo
todas as letras para caixa alta. s.toLowerCase()
fornece a cadeia de caracteres similar à cadeia
s, porém convertendo todas as letras para caixa
baixa.

8
O tipo String

s.compareTo(t) compara as cadeias de caracteres
s e t. Se elas forem idênticas, retorna o valor
zero se s vier alfabeticamente antes de t,
retorna um inteiro menor que zero se s vier
alfabeticamente depois de t, retorna um inteiro
maior que zero. s.indexOf(c) fornece o número
da primeira ocorrência do caractere c na cadeia
s. s.indexOf(c,n) fornece o número da
primeira ocorrência do caractere c na cadeia s,
que seja maior que ou igual a n. s s1 s2
coloca na cadeia s o resultado da concatenação
das cadeias s1 e s2. Por exemplo, se s1 abc e
s2 def, então s abcdef.

9
Classe Rinoceronte com nome
public class Rinoceronte double Peso
String nome Rinoceronte(double p, String n)
Peso p nome
n.substring(5) void andar()
System.out.println(nome" vai a " 1/Peso
"km/h") void comer()
System.out.println(nome " comendo")
void dormir() System.out.println(no
me " dormindo")


10
Classe Coordenador


class Coordenador public static void
main(String arg) Rinoceronte rino1
new Rinoceronte(10,"Rino rino1") Rinoceronte
rino2 new Rinoceronte(12, "Rino rino2")
Antilope anti new Antilope("Anti anti")
Hipopotamo hipo1 new Hipopotamo("Hipo hipo1")
Hipopotamo hipo2 new Hipopotamo("Hipo
hipo2") Hipopotamo hipo3 new
Hipopotamo("Hipo hipo3")   rino1.dormir()
anti.comer() hipo1.dormir()
hipo1.andar() hipo2.andar()
hipo3.comer() rino2.andar()
O que vai acontecer?
11
Exercício
Faça um programa que leia o nome de um arquivo
completo, incluindo sua extensão. Logo em
seguida, deverá imprimir qual é o tipo de arquivo
que se está escolhendo, seguindo esta
tabela .txt -gt Arquivo texto .exe -gt arquivo
executavel .jpg -gt arquivo imagem .mp3 -gt arquivo
de áudio Exemplo Entre com o nome do arquivo
gt minhasFerias.jpg O arquivo escolhido é uma
imagem Caso o formato não seja reconhecido, o
programa deverá dizer Formato desconhecido...


12
Leitura de Arquivos
  • import java.io.
  • 3 etapas
  • definir a fonte de dados, com um objeto de
    FileInputStream
  • definir um repositório de leitura, parametrizado
    pela fonte de dados, como um objeto de
    InputStreamReader
  • definir um leitor desse repositório, como um
    objeto de BufferedReader



13
Leitura de Arquivos
import java.io. InputStream is new
FileInputStream("entrada.txt") InputStreamReader
isr new InputStreamReader(is) BufferedReader
br new BufferedReader(isr)    String linha
br.readLine()


14
Escrita de Arquivos
  • import java.io.
  • 3 etapas
  • definir um destino para os dados, como um objeto
    de FileOutputStream
  • definir um repositório de gravação, parametrizado
    pelo destino de dados, como um objeto de
    OutputStreamWriter
  • definir um gravador desse repositório, como um
    objeto de BufferedWriter



15
Escrita de Arquivos
import java.io. OutputStream os new
FileOutputStream("saida.txt") OutputStreamWriter
osw new OutputStreamWriter(os) BufferedWriter
bw new BufferedWriter(osw)   String linha
br.readLine() bw.write("Ola " linha)
bw.newLine() bw.write("Ate mais tarde "
linha) bw.close()


16
Classes Abstratas

public abstract class Mamifero Mamifero()
  void andar()
System.out.println("Mamifero andando")
void comer() System.out.println("Mam
ifero comendo") void dormir()
System.out.println("Mamifero dormindo")


17
Classes Abstratas
public class Rinoceronte extends Mamifero
double Peso Rinoceronte(double p)
Peso p _at_Override void
andar() System.out.println("Rino
andando " 1/Peso "km/h")
_at_Override void comer()
System.out.println("Rino comendo")
_at_Override void dormir()
System.out.println("Rino dormindo")


18
Classes, Heranças e Objetos


19
Classe
Uma classe é um molde (template) que define, de
maneira genérica, como serão os objetos. Uma
classe é como uma receita para construir objetos.
Objetos são criados como sendo instâncias de uma
classe.


20
Classe Diagrama UML


21
Classe


22
Classe
Construtores Variáveis de referencia Operador
ponto

23
Classe

24
Classe
package testeretangulo   public class Main
public static void main(String args)
Retangulo r1 new Retangulo() //
Cria retangulo r1 Retangulo r2 new
Retangulo(0,15,5,10) // Cria retangulo r2
r1.x 15 // altera origem de r1
r1.altura 5 // altera altura de r1
System.out.println("Area r1 " r1.getArea())
// imprime nova area de r1
r2.transladar(5, 0) // translada origem de 5
pixels na horizontal r2.transladar(5, 0)
// translada origem de mais 5 pixels
System.out.println("origem r2 (" r2.x ","
r2.y ")")

25
Classes em arquivos separados
package testeretangulo   public class Main
public static void main(String args)
Retangulo r1 new Retangulo() //
Cria retangulo r1 Retangulo r2 new
Retangulo(0,15,5,10) // Cria retangulo r2
r1.x 15 // altera origem de r1
r1.altura 5 // altera altura de r1
System.out.println("Area r1 " r1.getArea())
// imprime nova area de r1
r2.transladar(5, 0) // translada origem de 5
pixels na horizontal r2.transladar(5, 0)
// translada origem de mais 5 pixels
System.out.println("origem r2 (" r2.x ","
r2.y ")")

26
Classes em arquivos separados

package testeretangulo   public class Main
public static void main(String args)
Write a Comment
User Comments (0)
About PowerShow.com