我有一個類繼承另一個類的類列表。我希望能夠訪問父變量,而不必使用引用(使事情更具可讀性)。我可以在沒有參考的情況下訪問父變量嗎?
public class MyCode : OtherCode
{
public string label;
public MyCode()
{
label = "somestring";
colour = 5;
Console.WriteLine("colour is: " + colour); // this is ok
List<particle> parts = new List<particle>();
parts.Add(new particle());
}
public class particle //I'd like this class to have access to the parent variables
{
public particle()
{
Console.WriteLine("The colour is: " + colour); // can this be accessed without using a parent reference?
//Console.WriteLine("The label is: " + label); // unaccessable
Console.ReadLine();
}
}
}
public class OtherCode
{
public int colour = 1;
public OtherCode()
{
//I didn't do it
}
}
是否有可能繼承父變量這種方式,所以我可以用手把它「是」在粒子的方法呢?
爲這個令人困惑的例子道歉,我想我因爲在這種情況下可以使用繼承而鬆了口氣。 我想知道是否可以讓嵌套類(粒子)有權訪問標籤和顏色在施工中傳遞參考文獻並在全國各地使用Parent.variable
?
'粒子'不是'咖啡',因此它不應該有'風味'或任何一個概念,要麼做一個界面,要麼讓'杯子'有'味道'(儘管我不是確定一個杯子是美味的) – Sayse
你正在使用繼承錯誤,就像@Sayse提到的(繼承意味着「is-a」,咖啡肯定是地獄不是杯子),你的問題還不清楚。解釋你想看到發生的事情,而不是「讓更多的可讀性」。 – CodeCaster
對不起,但我認爲你有些事情倒退了。 「咖啡:杯子」並不是說沒有杯子就沒有咖啡。因爲沒有杯子就可以喝咖啡。你說這個的方式說咖啡是一種特定的杯子。它不是。 Cappucino是一種咖啡,一種杯子可以翻譯成「Cappucion:Coffee」和「Mug:Cup」。 所以我認爲你應該解決這個問題,並在整個OOP閱讀,然後你的問題的答案會來找你:) –