2009-07-27 3 views
2

우리는 어떻게 하나의 클래스를 사용할 수 있습니까? 이것은 다른 클래스의 안쪽에있는 속성입니까? 나는 단지 이론적 설명과 하나의 작은 예를 원한다.클래스를 속성으로 사용 하시겠습니까?

+0

문제가 있습니다. "클래스를 다른 클래스로 ... 속성"(중첩 된 클래스) "클래스 ... 다른 클래스로 속성"으로 읽을 수 있습니다. –

+0

내 요구 사항은 student라는 수업이 있고 또 하나는 선생님이라는 것입니다. 각 학생과 교사의 이름과 ID를 얻지 만, 속성을 사용하여 각 선생님과 각 학생과 한 가지 관계를 맺습니다. 이 문제를 해결하기 위해 pls 도와주세요. – MAC

답변

2

당신은 중첩 된 클래스가 속성의 유형으로 사용되는 것을 의미합니까? 속성의 액세스 한정자가 속성의 유형과 같이 제한적이면이 작업을 수행 할 수 있습니다.

단순히 속성을 볼 수 있으면 유형에 액세스 할 수 있어야합니다.

1
public class Foo{ 
    public string Name; 
} 

public class Bar{ 
    public Foo MyFoo{ get; set; } 
} 
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 {} 
} 
0

클래스 B가 클래스 A 안에 중첩되어 및 우리는 다른 클래스에 도달하는 방법은 클래스 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); 
    } 
} 
0

의 인스턴스는 클래스 (모델)가 있다고 가정을 제공 클래스 A의 속성 BProperty 있습니다. 그러면 모델에 해당 클래스의 정의 (속성)가 있어야합니다. 이 이론을 제 응용 분야에서 사용합니다. 모델을 다른 가족에게 특정 작업을 수행하도록 명령 할 수있는 대가족의 아버지로 상상할 수 있습니다.

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() 
    { 
    ..... 
    } 

} 
0

당신은 TeachersStudents (희망 적절한 사람) 사이의 관계를 설정하는 언급.

이것은 개인 수업료와 일대일이 될 수도 있고, 학생들이 교사와 함께 수업에 참석하면 일대일이 될 수도 있고, 학생들이 여러 수업에 출석하면 다 대다가 될 수도 있습니다.

그런데 선생님께서는 너무 모호하고, OO에서 기존의 의미가 class 인 악몽 도메인 용어이므로 선생님에게 설정하는 것이 좋지 않다고 말씀하십시오.

관련 문제