Java: Segunda Aula (Orientação a Objetos)
Para explicar orientação a objetos, podem ser feitas comparações com o mundo real, onde vemos objetos como pessoas, animais, plantas, carros, aviões, casas, prédios, computadores, televisões, rádios etc. Os programas de computador também podem ser compostos de objetos que, as vezes, podem ser dividos em duas categorias: animados e inanimados.Os objetos animados são, em certo sentido, “vivos” (se movem e fazem coisas). Os inanimados, por outro lado, não são capazes de fazer coisas por conta própria. Entretanto, ambos os tipos de objetos tem coisas em comum, como atributos (forma, tamanho, cor…) e comportamentos (por exemplo, um carro que acelera).
Diferentes objetos podem ter atributos semelhantes e exibir comportamentos semelhantes. É possível fazer comparações, por exemplo, entre humanos e chimpanzés, entre homens e mulheres, entre carros e motos etc.
Brincando um pouco
Vamos pegar um pincel como exemplo e dar uma olhada em suas características:
- Cor
- Formato
- Espessura
- Tamanho
- Material
Se temos dois pincéis, um vermelho e um azul, as características são as mesmas. A única diferença entre os dois é a cor do pincel e de sua tinta. Eles pertencem ao mesmo objeto, pois tem as mesmas características. A única coisa que é mudada é a informação de cada atributo.
Se cada um dos atributos tem um determinado valor, devemos indicar qual o tipo de informação que está em cada um deles. A cor é de que tipo? String. Formato também é string, espessura é float etc.
String cor;
String formato;
float espessura;
float tamanho;
String material;
String formato;
float espessura;
float tamanho;
String material;
Como podem ver, definimos o tipo do objeto e as informações que serão armazenadas em cada um deles. Para transformarmos isso em algo que Java entenda, basta colocarmos o ; no final de cada um e botar dentro da classe:
public class pincel
{
String cor;
String formato;
float espessura;
float tamanho;
String material;
}
Vamos aqui definir uma classe carro:
public class carro
{
float rodas;
String cor;
int portas;
float motor;
String portamala;
}
Vamos agora criar a classe veiculo:
public class veiculo
{
int freios;
String cor, modelo;
}
public class carro extends veiculo
{
String estepe, limpador;
}
public class moto extends veiculo
{
String manete;
}
Como as subclasses de veiculo herdarão os atributos de veiculo, a classe veiculo obviamente deverá ter atributos que serão comuns a suas subclasses.
Mão na massa
Vamos criar um programinha simples para fazer cadastro de animais. Vamos primeiro criar a classe animais (salve o código em um arquivo chamado animais.java).
public class animais {
String comida, sexo;
}
public class mamiferos extends animais {
String tipo_pelo;
String especie;
}
public class peixes extends animais {
String cor_escamas;
float tamanho;
}
public class aves extends animais {
int idade;
String cor_pena;
}
import java.util.*;
public class cadastro
{
public static void main(String args[])
{
System.out.println("nnCADASTRO DE ANIMAIS:nn1. Peixesn2. Avesn3. Mamiferosnn4. Sairn");
System.out.printf("Escolha a opção: ");
Scanner resp = new Scanner(System.in);
int respo = resp.nextInt();
animais objAnimais = new animais();
Scanner sc_line = new Scanner(System.in);
Scanner sc_int = new Scanner(System.in);
Scanner sc_float = new Scanner(System.in);
System.out.printf("fDigite a comida de seu animal: ");
objAnimais.comida = sc_line.nextLine();
System.out.printf("nDigite o sexo de seu animal: ");
objAnimais.sexo = sc_line.nextLine();
if (respo==1)
{
peixes objPeixes = new peixes();
System.out.printf("nDigite o tamanho do peixe: ");
objPeixes.tamanho = sc_float.nextFloat();
System.out.printf("nDigite a cor das escamas do peixe: ");
objPeixes.cor_escamas = sc_line.nextLine();
System.out.println("nnFoi cadastrada um peixe que mede " + objPeixes.tamanho + "cm(s)!" + (objPeixes.tamanho >= 10 ? " É um peixe grande" : " É um peixe pequeno") + "!");
System.out.println("O peixe tem escamas de cor " + objPeixes.cor_escamas + "!n");
}
if (respo==2)
{
aves objAves = new aves();
System.out.printf("nDigite a idade da ave: ");
objAves.idade = sc_int.nextInt();
System.out.printf("nDigite a cor das penas da ave: ");
objAves.cor_pena = sc_line.nextLine();
System.out.println("nnFoi cadastrada uma ave de " + objAves.idade + " ano(s)!");
System.out.println("A ave tem penas cor " + objAves.cor_pena + "!n");
}
if (respo==3)
{
mamiferos objMamiferos = new mamiferos();
System.out.printf("nDigite o tipo de pelo: ");
objMamiferos.tipo_pelo = sc_line.nextLine();
System.out.printf("nDigite a espécie: ");
objMamiferos.especie = sc_line.nextLine();
System.out.println("nnFoi cadastrado um mamifero de pelo " + objMamiferos.tipo_pelo + "!");
System.out.println("O mamífero é " + objMamiferos.especie + "!n");
}
System.out.println("O animal come " + objAnimais.comida + " e seu sexo é " + objAnimais.sexo + "nn");
}
}
Um dos System.out.println foi feito da seguinte forma:
System.out.println(“\n\nFoi cadastrada um peixe que mede ” + objPeixes.tamanho + “cm(s)!” + (objPeixes.tamanho >= 10 ? ” É um peixe grande” : ” É um peixe pequeno”) + “!”);
Agora que já foi tudo explicado certinho vamos compilar o programa e rodar:
javac cadastro.java (se quiser, pode também usar javac *)
java cadastro
link para outras postagens:
Aula Java: Parte-04
Aula Java: Parte-03
Aula Java: Parte-02
Aula Java: Parte-01

Nenhum comentário:
Postar um comentário
retirei ENVIO anonimo porque algumas pessoas faziam perguntas anonimamente e eu não tinha como contacta-los
para duvidas pode enviar um e-mail para
rpgmak@rpgmak.tk