[MÚSICA] [MÚSICA] Olá a todos, aqui é Eduardo Guerra, de volta com você no curso de Orientação a Objetos com Java. Hoje no nosso 'iii' eu vou mostrar para vocês como criar uma classe, como instanciar essa classe, vamos estar vendo na prática como diferenciar, não é, como nós podemos criar vários objetos da mesma classe. Então a primeira coisa que eu vou fazer é eu vou vir aqui e eu vou criar vou criar aqui novo projeto Java que eu vou estar chamando de carros, certo, então eu vou colocar aqui, carros. [SEM ÁUDIO] Bom criado aqui o projeto, eu vou vir e vou criar a minha classe carro, não é? Basicamente com aquelas mesmas informações que a gente criou lá na aula, certo? Então eu vou chamar aqui de carro, pronto, está aqui a minha classe. Eu vou criar aqui uma propriedade inteira que vai ser o, a potência, eu vou criar aqui uma propriedade, também vou, vai ser inteira que vai ser a velocidade, vou criar aqui uma string para ser o nome do carro, certo, para a gente poder identificar legalzinho qual é o carro, certo, e aí vou criar aqui o método acelerar não é, que ele vai somar a potência na velocidade, então velocidade é igual a velocidade mais potência, certo? Para você que está começando agora na linguagem Java, uma dica: você pode substituir isso aqui colocando mais igual potência, é a mesma coisa do que estava antes, certo? Vou colocar aqui o frear, certo, que ele vai fazer a velocidade é igual à velocidade dividido por 2, não é, no caso como ele é inteiro ele vai fazer aquilo ali até parar, certo? E vou criar aqui método que retorna, não é, no caso vai ser o getVelocidade, certo? Esse método getVelocidade ele vai retornar a velocidade do carro, opa velocidade do carro certo? E vou criar outro método aqui para facilitar a minha vida que eu vou chamar de imprimir, certo, que eu vou fazer aqui sysout, não é, a gente já viu aí noutra aula que o atalho aqui, vou imprimir aqui "O carro " e aí vou colocar o nome do carro "está a velocidade" e aí vou colocar aqui a velocidade, ou melhor vou dar getVelocidade para usar, utilizar o método ali, certo, e está a velocidade de tantos km/h, certo? Botar aqui de, tantos km/h, certo? Então criei aqui a minha classe carro, agora eu vou estar criando uma classe chamada principal que ela vai ter método main e aí ela vai criar algumas instâncias da classe carro, certo, para podermos testar e ver como funciona essa questão aí de criar objetos da classe. Então eu vou vir aqui vou criar aqui a classe, opa, a classe principal, já vou marcar aqui que eu quero método main, certo? Então vou criar aqui carro c1 é igual a new carro, então eu instanciei a classe carro, está? Eu preciso agora inicializar aquelas variáveis não é, então vou pôr c1 ponto no caso aqui potência, não é, a minha potência ela tem que começar com, eu preciso setar alguma coisa, vou colocar aqui 10. O c1 também vou dar nome, não é, então vou colocar aqui nome é igual a que é que eu vou chamar aqui, vou chamar aqui de Corcel, pronto, e a minha velocidade questão aqui de boas práticas não é, eu vou inicializar aqui com 0, certo? Então se eu chamar o meu c1.imprimir não é, ele tem que imprimir ali que o Corcel está a 0 km/h. Então vou salvar, vou executar certo, então "O carro Corcel está na velocidade de 0 km/h". Se eu vier aqui e fizer por exemplo, c1.acelerar, não é, ele tem que imprimir agora que o Corcel está a 10 km/h, olha aqui correto, está? E se eu vir por exemplo vou acelerar 3 vezes de depois vou frear. [SEM ÁUDIO] Então eu vou vir aqui frear. Então ele acelerou, cada uma ele está somando 10 não é, e quando ele freia vai estar a 15 km/h, está? Uma coisa interessante é que se eu criar outro carro aqui certo, então eu crio aqui por exemplo carro c2 não é, nesse, no caso aqui o meu c2 ele vai ter os valores aqui, eu também vou começar com a velocidade 0, a potência dele no caso aqui vai ser 15, certo, o nome dele vai ser Carango, certo, e a velocidade também vai ser 0 está? Então aqui no final vez de fazer só o c1.imprimir eu vou imprimir o c1 e o c2, está? Então eu salvo aqui. Então note que eu estou acelerando e freando só o c1, o c2 ele mantém aquelas variáveis internas do jeito que estava. Se eu vier aqui e mexer no c2 também, não é, mandar acelerar aqui o c2, por exemplo acelerar ele 2 vezes aqui ele vai modificar as variáveis do c2, está? Uma outra coisa que eu queria mostrar aqui para vocês se eu pegar aqui, criar terceiro carro e criar ele exatamente igualzinho o c1 certo, só que está numa variável diferente, ele também chama Corcel, certo, eu vou até colocar aqui sysout aqui pra a gente saber que agora eu vou botar aqui "Imprimindo c3", certo? Imprimindo ali o carro 3, não é, eu vou chamar aqui c3.imprimir e olha lá, está vendo? O c3 é igualzinho ao c1, mas o fato de eu modificar o c1 não é, não modifica o c3, lembrando aquele conceito de que a classe, o objeto ele é único, por mais que ele seja igual ao outro, está? Então eu posso por exemplo ter duas cadeiras, não é, e quebrar a perna de uma elas podem ser idênticas, a partir do momento que eu quebrar não vai ser mais, então da mesma forma eu posso ter 2 carros idênticos, a partir do momento que eu acelerar o outro não acelera porque ele é igual, está? Espero que com esse exemplo aqui vocês tenham compreendido esse conceito aí da classe, do objeto, como que a gente instancia e a questão de cada ter o seu escopo ali de variáveis. Muito obrigado por assistir, até à próxima aula! [MÚSICA] [MÚSICA]