In [1]:
public class Circulo {
int centroX, centroY;
int raio;
double area;
Circulo(int centroX, int centroY, int raio) {
this.centroX = centroX;
this.centroY = centroY;
this.raio = raio;
this.area = Math.PI * raio * raio;
}
}
Out[1]:
In [2]:
Circulo circ = new Circulo(5, 3, 10);
System.out.println("Circulo: centro(" + circ.centroX + ", " + circ.centroY + "), raio " + circ.raio);
System.out.println("Area do circulo: " + circ.area);
Out[2]:
In [3]:
public class Circulo {
int centroX, centroY;
int raio;
Circulo(int centroX, int centroY, int raio) {
this.centroX = centroX;
this.centroY = centroY;
this.raio = raio;
}
double area() {
return Math.PI * raio * raio;
}
}
Out[3]:
In [4]:
Circulo circ = new Circulo(5, 3, 10);
System.out.println("Circulo: centro(" + circ.centroX + ", " + circ.centroY + "), raio " + circ.raio);
System.out.println("Area do circulo: " + circ.area());
Out[4]:
Circulo
Diretrizes para classe e respectivos objetos:
In [5]:
public class Circulo {
private int centroX, centroY;
private int raio;
public Circulo(int centroX, int centroY, int raio) {
this.centroX = centroX;
this.centroY = centroY;
this.raio = raio;
}
public double area() {
return Math.PI * raio * raio;
}
}
Out[5]:
In [6]:
Circulo circ = new Circulo(5, 3, 10);
System.out.println("Area do circulo: " + circ.area());
Out[6]:
O acesso indireto através do método permite a garantia de consistência do valor. Vide método setRaio
abaixo que não aceita valor negativo.
Propriedades não estão obrigadas a estar associadas a atributos. Veja propriedade getArea()
abaixo.
In [7]:
public class Circulo {
private int centroX = 0,
centroY = 0;
private int raio = 1;
public int getCentroX() {
return centroX;
}
public void setCentroX(int centroX) {
this.centroX = centroX;
}
public int getCentroY() {
return centroY;
}
public void setCentroY(int centroY) {
this.centroY = centroY;
}
public int getRaio() {
return raio;
}
public void setRaio(int raio) {
if (raio > 0)
this.raio = raio;
}
public double getArea() {
return Math.PI * raio * raio;
}
}
Out[7]:
In [8]:
Circulo circ = new Circulo();
circ.setCentroX(5);
circ.setCentroY(3);
circ.setRaio(10);
System.out.println("Circulo: centro(" + circ.getCentroX() + ", " + circ.getCentroY() + "), raio " + circ.getRaio());
System.out.println("Area do circulo: " + circ.getArea());
Out[8]:
In [9]:
public class Circulo {
private int centroX, centroY;
private int raio;
public Circulo(int centroX, int centroY, int raio) {
this.centroX = centroX;
this.centroY = centroY;
this.raio = raio;
}
public int getCentroX() {
return centroX;
}
public int getCentroY() {
return centroY;
}
public int getRaio() {
return raio;
}
public double getArea() {
return Math.PI * raio * raio;
}
}
Out[9]:
In [10]:
Circulo circ = new Circulo(5, 3, 10);
System.out.println("Circulo: centro(" + circ.getCentroX() + ", " + circ.getCentroY() + "), raio " + circ.getRaio());
System.out.println("Area do circulo: " + circ.getArea());
Out[10]:
In [11]:
public class Grafico {
boolean preenchido;
char caractere;
Grafico(boolean preenchido, char caractere) {
this.preenchido = preenchido;
this.caractere = caractere;
}
void plota(int valor) {
for (int v = 1; v < valor; v++)
System.out.print((preenchido) ? caractere : ' ');
System.out.println(caractere);
}
}
Out[11]:
In [12]:
Grafico g1 = new Grafico(true, '#');
Grafico g2 = new Grafico(false, '*');
g1.plota(10);
g1.plota(12);
g1.plota(8);
System.out.println();
g2.plota(4);
g2.plota(5);
g2.plota(7);
Out[12]:
In [ ]:
## Aplicação para a Nova Classe `Grafico`
Reescreva o programa exemplo para a sua nova classe `Grafico`.