Abaixo seguem as implementações das classes Alongado
e Entremeado
que representam as espécies de A Coisa.
idade
- número inteiro que inicia com 1 e representa a idade da Coisa;vivo
- indica se a coisa está viva ou morta.mostrar
- mostra no console um caractere que representa A Coisa; este caractere será diferente conforme a idade e se A Coisa está viva ou não;crescer
- aumenta a idade da coisa;morrer
- a coisa se torna morta.Esta versão foi modificada em relação à original de tal modo que os métodos crescer
e mostrar
não mostram A Coisa.
In [1]:
public class Alongado {
int idade;
boolean vivo;
public Alongado(int idade, boolean vivo) {
this.idade = idade;
this.vivo = vivo;
}
public void mostrar() {
String saida = "";
if (!vivo)
saida = "#";
else
switch (idade) {
case 1: saida = "."; break;
case 2: saida = ","; break;
case 3: saida = "-"; break;
default: if (idade >= 4)
saida = "~";
break;
}
System.out.println(saida);
}
public void crescer() {
idade++;
}
public void morrer() {
vivo = false;
}
}
Out[1]:
In [2]:
public class Entremeado {
int idade;
boolean vivo;
public Entremeado(int idade, boolean vivo) {
this.idade = idade;
this.vivo = vivo;
}
public void mostrar() {
String saida = "";
if (!vivo)
saida = "#";
else
switch (idade) {
case 1: saida = "."; break;
case 2: saida = "+"; break;
case 3: saida = "@"; break;
default: if (idade >= 4)
saida = "*";
break;
}
System.out.println(saida);
}
public void crescer() {
idade++;
}
public void morrer() {
vivo = false;
}
}
Out[2]:
In [3]:
Alongado a1 = new Alongado(2, true),
a2 = new Alongado(1, false);
Entremeado e1 = new Entremeado(3, true),
e2 = new Entremeado(1, true);
a1.mostrar();
a2.mostrar();
e1.mostrar();
e2.mostrar();
a1.crescer();
a1.mostrar();
a2.crescer();
a2.mostrar();
e1.crescer();
e1.mostrar();
e2.crescer();
e2.mostrar();
e1.morrer();
e1.mostrar();
e2.crescer();
e2.mostrar();
e2.crescer();
e2.mostrar();
e2.crescer();
e2.mostrar();
Out[3]:
In [4]:
public class ACoisa {
protected int idade;
protected boolean vivo;
public ACoisa(int idade, boolean vivo) {
this.idade = idade;
this.vivo = vivo;
}
public void crescer() {
idade++;
}
public void morrer() {
vivo = false;
}
}
Out[4]:
In [5]:
public class Alongado extends ACoisa {
public Alongado(int idade, boolean vivo) {
super(idade, vivo);
}
public void mostrar() {
String saida = "";
if (!vivo)
saida = "#";
else
switch (idade) {
case 1: saida = "."; break;
case 2: saida = ","; break;
case 3: saida = "-"; break;
default: if (idade >= 4)
saida = "~";
break;
}
System.out.println(saida);
}
}
Out[5]:
In [6]:
public class Entremeado extends ACoisa {
public Entremeado(int idade, boolean vivo) {
super(idade, vivo);
}
public void mostrar() {
String saida = "";
if (!vivo)
saida = "#";
else
switch (idade) {
case 1: saida = "."; break;
case 2: saida = "+"; break;
case 3: saida = "@"; break;
default: if (idade >= 4)
saida = "*";
break;
}
System.out.println(saida);
}
}
Out[6]:
In [7]:
Alongado a1 = new Alongado(2, true),
a2 = new Alongado(1, false);
Entremeado e1 = new Entremeado(3, true),
e2 = new Entremeado(1, true);
a1.mostrar();
a2.mostrar();
e1.mostrar();
e2.mostrar();
a1.crescer();
a1.mostrar();
a2.crescer();
a2.mostrar();
e1.crescer();
e1.mostrar();
e2.crescer();
e2.mostrar();
e1.morrer();
e1.mostrar();
e2.crescer();
e2.mostrar();
e2.crescer();
e2.mostrar();
e2.crescer();
e2.mostrar();
Out[7]:
In [2]:
public class ACoisa {
protected int idade;
protected boolean vivo;
public ACoisa(int idade, boolean vivo) {
this.idade = idade;
this.vivo = vivo;
}
public boolean mostrar() {
String saida = null;
if (!vivo)
saida = "#";
else if (idade == 1)
saida = ".";
if (saida != null)
System.out.println(saida);
return (saida != null);
}
public void crescer() {
idade++;
}
public void morrer() {
vivo = false;
}
}
Out[2]:
In [3]:
public class Alongado extends ACoisa {
public Alongado(int idade, boolean vivo) {
super(idade, vivo);
}
public boolean mostrar() {
String saida = null;
if (!super.mostrar())
switch (idade) {
case 2: saida = ","; break;
case 3: saida = "-"; break;
default: if (idade >= 4)
saida = "~";
break;
}
if (saida != null)
System.out.println(saida);
return (saida != null);
}
}
Out[3]:
In [4]:
public class Entremeado extends ACoisa {
public Entremeado(int idade, boolean vivo) {
super(idade, vivo);
}
public boolean mostrar() {
String saida = null;
if (!super.mostrar())
switch (idade) {
case 2: saida = "+"; break;
case 3: saida = "@"; break;
default: if (idade >= 4)
saida = "*";
break;
}
if (saida != null)
System.out.println(saida);
return (saida != null);
}
}
Out[4]:
In [5]:
Alongado a1 = new Alongado(2, true),
a2 = new Alongado(1, false);
Entremeado e1 = new Entremeado(3, true),
e2 = new Entremeado(1, true);
a1.mostrar();
a2.mostrar();
e1.mostrar();
e2.mostrar();
a1.crescer();
a1.mostrar();
a2.crescer();
a2.mostrar();
e1.crescer();
e1.mostrar();
e2.crescer();
e2.mostrar();
e1.morrer();
e1.mostrar();
e2.crescer();
e2.mostrar();
e2.crescer();
e2.mostrar();
e2.crescer();
e2.mostrar();
Out[5]:
In [6]:
public class ACoisa {
protected int idade;
protected boolean vivo;
public ACoisa(int idade, boolean vivo) {
this.idade = idade;
this.vivo = vivo;
}
public boolean mostrar() {
String saida = null;
if (!vivo)
saida = "#";
else if (idade == 1)
saida = ".";
if (saida != null)
System.out.println(saida);
return (saida != null);
}
public void crescer() {
idade++;
mostrar();
}
public void morrer() {
vivo = false;
mostrar();
}
}
Out[6]:
In [7]:
public class Alongado extends ACoisa {
public Alongado(int idade, boolean vivo) {
super(idade, vivo);
}
public boolean mostrar() {
String saida = null;
if (!super.mostrar())
switch (idade) {
case 2: saida = ","; break;
case 3: saida = "-"; break;
default: if (idade >= 4)
saida = "~";
break;
}
if (saida != null)
System.out.println(saida);
return (saida != null);
}
}
Out[7]:
In [8]:
public class Entremeado extends ACoisa {
public Entremeado(int idade, boolean vivo) {
super(idade, vivo);
}
public boolean mostrar() {
String saida = null;
if (!super.mostrar())
switch (idade) {
case 2: saida = "+"; break;
case 3: saida = "@"; break;
default: if (idade >= 4)
saida = "*";
break;
}
if (saida != null)
System.out.println(saida);
return (saida != null);
}
}
Out[8]:
In [9]:
Alongado a1 = new Alongado(2, true),
a2 = new Alongado(1, false);
Entremeado e1 = new Entremeado(3, true),
e2 = new Entremeado(1, true);
a1.mostrar();
a2.mostrar();
e1.mostrar();
e2.mostrar();
a1.crescer();
a2.crescer();
e1.crescer();
e2.crescer();
e1.morrer();
e2.crescer();
e2.crescer();
e2.crescer();
Out[9]: