Hogyan kell lefordítani ill. lefuttatni egy JAVA programot, ha egy csomagba helyezzük őket öröklődésnél?
Továbbá lenne egy kérdésem. Beirom az egész programot mert szerintem ugy tudnátok segiteni nekem:
package sik;
public abstract class Sikidom {
public abstract double terulet();
public abstract double kerulet();
}
--------------------------
package sik;
public class Kor extends Sikidom {
private double r;
public Kor(double r) {
this.r = r;
}
public double terulet() {
return r * r * 3.14159;
}
public double kerulet() {
return 2 * r * 3.14159;
}
public double getR() {
return r;
}
}
----------------------------
package sik;
public class Teglalap extends Sikidom {
private double a;
private double b;
public Teglalap(double a, double b) {
this.a = a;
this.b = b;
}
public double terulet() {
return a * b;
}
public double kerulet() {
return 2 * (a + b);
}
public double getA() {
return a;
}
public double getB() {
return b;
}
}
------------------------------------------------
public class EgyenesHasab {
private Sikidom alap;
private double magassag;
public EgyenesHasab(Sikidom alap, double magassag) {
this.magassag = magassag;
//this.alap = alap;
//
Sikidom uj;
if(alap instanceof Kor) {
uj = new Kor( ((Kor)alap).getR() );
} else if(alap instanceof Teglalap) {
uj = new Teglalap( ((Teglalap)alap).getA(), ((Teglalap)alap).getB() );
} else uj = alap;
this.alap = uj;
}
public double getFelszin() {
return alap.terulet() + alap.kerulet() * magassag;
}
public double getTerfogat() {
return alap.terulet() * magassag;
}
}
-------------------------------
package sik;
public class Fut {
public static void main(String args[]) {
EgyenesHasab henger = new EgyenesHasab(new Kor(1.45), 12.2);
EgyenesHasab hasab = new EgyenesHasab(new Teglalap(2, 3), 10);
System.out.println("henger terfogata: " + henger.getTerfogat());
System.out.println("henger felszine: " + henger.getFelszin());
System.out.println("hasab terfogata: " + hasab.getTerfogat());
System.out.println("hasab felszine: " + hasab.getFelszin());
}
}
---------------------------
A kérdésem az lenne hogy az EgyenesHasab osztályban lévő metódus mit jelent pontosan?
public EgyenesHasab(Sikidom alap, double magassag) {
this.magassag = magassag;
//this.alap = alap;
//
Sikidom uj;
if(alap instanceof Kor) {
uj = new Kor( ((Kor)alap).getR() );
} else if(alap instanceof Teglalap) {
uj = new Teglalap( ((Teglalap)alap).getA(), ((Teglalap)alap).getB() );
} else uj = alap;
this.alap = uj;
}
Erről lenne szó. Köszönöm a választ.
az a metódus az egyenes hasáb konstruktora, ami vár paraméterként egy sikidomot (alap) és egy magasságot (magassag).
Sikidom uj;
if(alap instanceof Kor) {
uj = new Kor( ((Kor)alap).getR() );
} else if(alap instanceof Teglalap) {
uj = new Teglalap( ((Teglalap)alap).getA(), ((Teglalap)alap).getB() );
} else uj = alap;
this.alap = uj;
ennek a résznek viszont nem sok értelme van. Gondolom használsz valami IDE-t (pl. Netbeans), azzal teljesen egyértelmű, hogyan kell fordítani és futtatni. Ha nem, tedd fel. Ha nem akarod, akkor javac-cal kell compile-olni, majd java-val futtatni parancssorból, de erre inkább keress rá, mert én sem tudom pontosan.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!