当我在两个 类 之间使用继承时,变量正在初始化
The variables are initializing when I'm using inheritance between two classes
这是我写的代码:
public class shapess
{
public int len1, len2, len3;
public void SetVars (int Len1, int Len2, int Len3)
{
len1 = Len1;
len2 = Len2;
len3 = Len3;
}
}
public class triangle : shapess
{
shapess sh = new shapess();
public void Perimeter()
{
sh.SetVars(3, 6, 9);
int peri = len1 + len2 + len3;
Console.WriteLine("The perimeter is: "+peri);
}
}
当我尝试使用 triangle tr = new triangle(); tr.Perimeter();
播放它时,它显示我的变量(len1、len2 和 len3)等于 0,输出为:The perimeter is: 0
。
我的问题是什么?
您正在 Trangle
class 中创建一个 Shapess
实例并设置该实例的 len1,len2 ..而不是 Trangle 本身的值 len1,len2...。尝试
public class triangle : shapess
{
public void Perimeter()
{
SetVars(3, 6, 9);
int peri = len1 + len2 + len3;
Console.WriteLine("The perimeter is: "+peri);
}
}
这是我写的代码:
public class shapess
{
public int len1, len2, len3;
public void SetVars (int Len1, int Len2, int Len3)
{
len1 = Len1;
len2 = Len2;
len3 = Len3;
}
}
public class triangle : shapess
{
shapess sh = new shapess();
public void Perimeter()
{
sh.SetVars(3, 6, 9);
int peri = len1 + len2 + len3;
Console.WriteLine("The perimeter is: "+peri);
}
}
当我尝试使用 triangle tr = new triangle(); tr.Perimeter();
播放它时,它显示我的变量(len1、len2 和 len3)等于 0,输出为:The perimeter is: 0
。
我的问题是什么?
您正在 Trangle
class 中创建一个 Shapess
实例并设置该实例的 len1,len2 ..而不是 Trangle 本身的值 len1,len2...。尝试
public class triangle : shapess
{
public void Perimeter()
{
SetVars(3, 6, 9);
int peri = len1 + len2 + len3;
Console.WriteLine("The perimeter is: "+peri);
}
}