"T extends sayısı" nesne örneğinde temel matematik işlemlerini gerçekleştirmeme izin verecek bir kod yazmaya çalışıyorum. Number
'un bir alt sınıfı olan herhangi bir sayı türünü idare edebilmelidir.
Number
altındaki bazı türlerde .add()
yönteminin yerleşik olduğunu ve bazılarının bile .multiply()
yöntemlerini olduğunu biliyorum. Herhangi bir olası türden iki genel değişkenleri çarpabilmek gerekir. Aradım ve aradım ve herhangi bir türden net bir cevap alamadım.Genel bir matematik sınıfında genel değişkenler üzerinde matematik işleçleri kullanın
public class Circle<T extends Number> {
private T center;
private T radius;
private T area;
// constructor and other various mutator methods here....
/**
The getArea method returns a Circle
object's area.
@return The product of Pi time Radius squared.
*/
public Number getArea() {
return 3.14 * (circle.getRadius()) * (circle.getRadius());
}
Herhangi bir yardım çok takdir edilecektir. Jenerikler, Java öğrenirken karşılaştığım en zor şey. Bacak işini yapmamın sakıncası yok çünkü bu şekilde daha iyi öğreniyorum, bu yüzden doğru yönde güçlü bir nokta bile çok yardımcı olacaktır.
Muhtemelen '3.14 'kelimenizin yerine' Math.PI' kullanmalısınız. – ColinD
Bu şekilde çalışmayacak. T Sayıyı genişlettikçe, yalnızca sınıf Numarası yöntemlerini çağırmanıza izin verilir. – helpermethod
Bunun amacı nedir? – starblue