我有這5個類。一個叫做Figura的基類是一個抽象類和4個具體派生類。調用派生類的非繼承方法
我要創建大小爲8的Figuras(二誇德拉多,二Rectangulo,二Triangulo和兩個Circulo)的陣列,所以我這樣做:
Figuras[] figuras = new Figuras[8];
figuras[0] = new Cuadrado(1);
figuras[1] = new Cuadrado(2);
figuras[2] = new Rectangulo(2, 1);
figuras[3] = new Rectangulo(6, 2);
figuras[4] = new Triangulo(1, 2, 2);
figuras[5] = new Triangulo(3, 3, 4);
figuras[6] = new Circulo(1);
figuras[7] = new Circulo(4);
然後我遍歷該數組計算每個圖的面積和周長。當我嘗試調用僅屬於Circulo數字的方法calcularDiametro()時,問題就出現了。我怎樣才能做到這一點?
我試過以下,但它不起作用。
foreach (Figuras f in figuras)
if (f is Circulo)
f.calcularDiametro();
任何幫助,將不勝感激。
只是一個建議 - 在命名變量,類,方法等時使用英語。註釋也是如此。儘管你在這裏做的事情是可以理解的,但它在國際團隊中不會被接受。 – Filkolev
謝謝你的建議@Filkolev,我真的這樣做。這只是練習在類之間進行鑄造的練習 – IvnBam