我们如何使用一个类,它作为属性在另一个类中?我只想要理论上的解释和一个小例子。
答案 0 :(得分:2)
您的意思是用作属性类型的嵌套类?只要属性的访问修饰符最多与属性类型一样具有限制性,您就可以执行此操作。
如果您能看到该属性,您应该能够访问该类型。
答案 1 :(得分:2)
您可以将嵌套类型用作属性,但如果它们位于同一个类中,则它们不能具有相同的名称:
public class Invalid
{
public Nested Nested { get { return null; } }
public class Nested {}
}
public class Valid
{
public Nested NestedFoo { get { return null; } }
public class Nested {}
}
答案 2 :(得分:1)
public class Foo{
public string Name;
}
public class Bar{
public Foo MyFoo{ get; set; }
}
答案 3 :(得分:0)
B类嵌套在A类中,我们在A类中有一个属性BProperty,它给出了一个B类实例。
public class A
{
public class B
{
string m_b1;
public string B1
{
get { return m_b1; }
set { m_b1 = value; }
}
}
B m_b = new B();
public A()
{
m_b.B1 = "Hello World";
}
public B BProperty
{
get { return m_b; }
set { m_b = value; }
}
}
class Program
{
static void Main(string[] args)
{
A a = new A();
Console.WriteLine(a.BProperty.B1);
}
}
答案 4 :(得分:0)
假设您有一个类(模型),这是一种联系其他类的方法。 所以你应该在模型中有这些类的定义(属性)。 我在我的应用程序中使用这个理论。你可以把这个模型想象成一个大家庭的父亲,他可以命令别人去做特定的任务。
Public Class Father
{
private Child _Child=null;
public Child Child
{
get{
if(_Child==null) _Child=new Child();
return _Child;
}
}
}
Public Class Child
{
Public void StudyLessons()
{
.....
}
}
答案 5 :(得分:0)
您提到在Teachers
和Students
之间建立关系(希望是合适的关系)。
这可以是私人学费的一对一,如果学生与老师一起上课,也可以是一对一,如果学生参加几个班级,可以是多对多。
顺便说一句,告诉你的老师这是一个不好的例子,因为它太模糊了,因为“类”这个词是一个噩梦的域名术语,因为OO中class
这个词的现有含义。