[MÚSICA] Esse
é o curso de Orientação a Objetos com Java.
Meu nome é Eduardo Guerra e hoje vamos falar sobre como criar classes Java.
Eu sei que você estava aí assistindo às aulas de classes louco para
botar o mão no código, então vamos falar de código hoje.
Vamos ver como implementar na prática esses conceitos aí de classes,
aprender a criar e instanciar classes, colocar atributo,
método, eu sei que você está doido para ver como fazer isso aí Java.
Eu vou chamar aqui o meu amigo Duck, certo?
Que vai falar para vocês aqui que Java quase tudo é uma classe.
Basicamente quase tudo o que você for criar Java é classe e a gente faz
isso usando essa diretriz aqui Public e Class e o nome da classe que a gente quer.
Bom, como a gente pode ter, por exemplo,
sistema que tenha muitas classes e muitas vezes, às vezes, por exemplo,
você tem conceitos que às vezes podem ser interpretados de forma diferente,
então eu posso ter, por exemplo, sistema, carrinho, uma classe Carrinho,
que é o carrinho de compras, mas eu posso ter uma loja que vende carrinhos de
brinquedo, e então é importante a gente de uma certa forma ter uma,
como se fosse diretório para a gente estar colocando as classes.
A gente faz isso através dos packages, os pacotes.
Então a gente faz isso colocando logo no começo aqui,
essa, dizendo package e o nome do pacote que a gente está colocando.
Então no caso aí a gente está colocando a classe Carro no pacote org.veículos.
E aí é aquela coisa, de toda a vez que a gente precisar usar uma classe, certo?
A gente tem que importar ou a classe ou o pacote que ela está.
Então por exemplo, se eu quero usar a classe Math, para poder usar as
operações aí matemáticas, eu posso usar aí o Import java lang Math.
Então no caso aqui, por exemplo, da minha, da classe que eu dei o exemplo,
a classe Carro, eu poderia, se eu quisesse usar essa classe fora dali,
eu poderia dar Import org.veículos.* ou
org.veículos.carro para importar somente aquela classe.
Certo?
Bom, a informação que a classe precisa de ter,
ela é armazenada ali atributos, então eu faço da
seguinte forma: Você que já provavelmente tem experiência alguma outra linguagem,
é como se eu estivesse declarando variáveis dentro da minha classe.
Então estou dizendo que a classe Carro,
ela tem a informação potência e ela tem a informação velocidade.
Olhando com mais detalhe aqui para o atributo, todo o atributo ele
precisa ter tipo, então no caso aqui ele é inteiro, certo?
E ele pode ser do tipo primitivo ou de uma classe.
Pegando aqui os outros exemplos, a potência ali é inteiro,
a velocidade seria ali do tipo Float.flutuante.
E se a gente quiser criar carro?
Então para criar carro a gente usa o operador New.
Então eu estou criando ali o meu fusca, então eu dou o carro fusca,
estou declarando a variável fusca como do tipo carro e estou,
o New diz assim, olha estou criando uma nova instância da classe Carro.
Para acessar os atributos então desse carro eu posso usar a fusca.potencia
para acessar essa variável potência e posso usar por exemplo, eu posso tanto
notificar essa variável quanto recuperar ela, então o fusca.potencia,
por exemplo, igual a 2, como a gente está vendo no exemplo aqui do lado, certo?
Ele está colocando 2 nessa variável potência,
aí quando eu faço v=fusca.velocidade, ele está recuperando essa informação.
A classe ela também pode ter comportamento e como a gente viu na aula anterior,
esse comportamento a gente define a partir de métodos.
Então por exemplo, eu tenho aí o meu método acelerar que vai estar somando
a potência da velocidade e eu tenho o meu método frear que vai estar diminuindo
a velocidade sempre por 2, no caso aí, multiplicando por 0.5.
Então vamos ver pouquinho de detalhe sobre os métodos.
O método ele tem retorno, no caso aí o Void ele é
retorno que na verdade estou dizendo que não retorna nada,
o método ele pode ter parâmetros ou não, no caso Acelerar não tem, certo?
E normalmente o método numa classe que tem estado, ele vai fazer alguma coisa
relação ao estado da classe, ou retornar uma informação ou modificar aquele estado.
E para chamar o método é bem parecido aí com atributo, certo?
Só que a gente coloca os parêntesis e aí passa os parâmetros se tiver.
Se não tiver a gente simplesmente bota parâmetros, então, fusca.acelerar,
fusca.frear, seria a forma de estar invocando aqueles métodos, está certo?
Então nessa aula aqui, olha quanta coisa aí a gente aprendeu.
A gente aprendeu aí Java estar criando classe, declarando atributo,
adicionando métodos e como instanciar os objetos,
sabendo aí também como usar os atributos e invocar aí os métodos.
Então espero que com isso aí a gente tenha dado geral aí na criação
de classes Java e agora você já sabe como criar e instanciar classes,
colocando atributos e métodos aí na linguagem Java.
Muito obrigado por assistir à aula.
Até à próxima!
[MÚSICA]