Ola amigos leitores tentarei ser o mais breve e preciso no conceito orientacao a objetos.Pra que usamos orientacao a objetos? Simplesmente para resolvermos problemas que tinhamos com a programacao estruturada, como por exemplo, a dificuldade de realizar manutencoes no codigo devido presenca de um codigo macarronico e de dificil compreensao de Ideia do programador.Pensando nisso, foi criado este conceito de orientacao de objetos, que nada mais e do que refletir a maneira de programar com a vida real, para isso basta abstrair ideias reais.Baseando-se nisso pensemos que tudo seja objeto, por exemplo carro, telefone, maca, cachorro, teste de ingles, batata, quadro... parece confuso mas observe, tudo que nos faz pensar em algo unitariamente isto chama-se objeto.Vou citar um exemplo para prosseguirmos em todo o texto... bom pensemos que temos que criar um sistema em JAVA para construir de carros possantes... bem, eu ainda nao sei onde voce vai usar esse sistema, mas use a imaginacao.... como devemos pensar para este caso??? Bom, pense na vida real.... vamos criar carros ... carro para nos e um objeto... mas para este sistema nao basta saber que carro e um objeto, precisamos saber o que estes carros contem...temos que definir o que compoe o carro, falamos que temos que definir os atributos que um carro pode ter. Neste caso os itens que compoe o carro sao: nome, marca, velocidade maxima, quantidade de marchas, aro do pneu e tamanho das asas...sempre sonhei em construir um carro que voa... mas e claro que dependendo do que voce va fazer essa ideia muda radicalmente.E por fim falaremos o que um carro pode fazer.. acelera, freia, troca marcha, decola (voce achou que as asas eram para que?)e.. ..e... acho que so ne ?Tudo o que o carro pode fazer chama-se metodosVamos dar uma resumida, temos atributos e metodos definidos para construirmos carros... Repare que os atributos e metodos se referem a qualquer carro que nos queiramos criar..ou seja, e tudo generico.Temos que colocar os atributos e metodos num lugar que seja generico tambem para podermos num futuro proximo criar um carro... chamamos esse lugar de classeNa literatura voce pode encontrar a definicao de classe como: classe e uma estrutura que abstrai um conjunto de objetos com caracteristicas similares. Talvez esse conceito nao tenha ficado muito claro, entao da uma conferida no post do Gabriel Programacao Orientada a ObjetosVamos visualizar isso em Java, abaixo estara uma classe com o nome Carro com os atributos e metodos que falamos ate aqui:class Carro{ String nome; String marca; int velocidadeMaxima; int quantidadeDeMarchas; int marchaAtual=0; double velocidadeAtual=0; boolean estaVoando; void trocarMarcha(){ if (marchaAtual < this.quantidadeDeMarchas){ this.marchaAtual = this.marchaAtual + 1; System.out.println("marcha = " + this.marchaAtual); }else { System.out.println("As marchas ja estao no limiteee!!! uhuuuu"); } } void acelerar(){ if(this.velocidadeAtual<=this.velocidadeMaxima){ int velocidadePorMarcha = this.velocidadeMaxima / this.quantidadeDeMarchas; this.velocidadeAtual = velocidadePorMarcha * this.marchaAtual; System.out.println("VRUUMMM ... velocidade atual e: " + this.velocidadeAtual); }else{ System.out.println("Nao mais pra acelerar...aaaaa!!!"); } } void freiar(){ this.velocidadeAtual = 0; System.out.println("RSSSSHHHHHHHH que freiada"); } void decola(){ if(this.velocidadeAtual==this.velocidadeMaxima){ this.estaVoando = true; System.out.println("UHUU DECOLAMOS.. iiii caramba nao da pra pousar.."); }else{ this.estaVoando = false; System.out.println("Para decolar