Ben java geçersiz kılma yöntemi göstermek için çevre ve dikdörtgen bulmak için basit kodu yazarken bu sorunu vardı anladım. aynı alt sınıf yöntemindeki alanı (uzunluk * genişlik) döndürebilir miyim?Alt sınıftaki bir yöntemle ve alt sınıftaki yöntemle nasıl geçersiz bir yöntemden dönebilirim?
package override;
class perimeter{
int length,breadth;
perimeter(){length = breadth = 0;}//default constructor
perimeter(int length, int breadth){
this.length = length;
this.breadth = breadth;
}
int show(int length, int breadth){
return 2*(length + breadth);
}
}
class area extends perimeter{
area(int length, int breadth){
super(length,breadth);
}
int show(int length, int breadth){
return super.show(length, breadth);
// how can i return this too? : return length * breadth;
}
}
public class overrideshapes {
public static void main(String args[]){
area shape1 = new area(5,10);
System.out.println(""+ shape1.show(shape1.length,shape1.breadth));
}
}
Yapamazsınız ve yapmak istediğiniz şey mantıklı değildir. Neden bölge 'çevre 'uzanıyor? Alanlar perimetre değildir. (Ayrıca, sınıf isimleri Pascal-case: 'Area',' Perimeter, 'OverrideShapes') –
Evet. alan, büyük olasılıkla perimetreleri uzatamaz. Ancak program sadece yöntemi geçersiz kılmaktı. Ancak çözümü buldum. Teşekkürler! –