используя класс как свойство?

2

как мы можем использовать один класс, который находится внутри другого класса как свойство? Я хочу только теоретическое объяснение и небольшой пример.

  • 0
    Есть проблема в вопросе. Это можно прочитать как "класс в другой класс ... как свойство" (вложенный класс) и "класс ... в другой класс как свойство".
  • 0
    я требую, чтобы был класс с именем студента, а другой - учитель, я беру имя и идентификатор каждого ученика и учителя, но я устанавливаю одно отношение с каждым учителем и каждым учеником, используя свойство. помогите пожалуйста для решения этой проблемы
Теги:

6 ответов

2

Вы имеете в виду вложенный класс, используемый как тип свойства? Пока модификатор доступа свойства не более чем ограничивает тип свойства, вы можете это сделать.

Просто вы можете получить доступ к типу, если вы можете увидеть его.

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 {}
}
1
public class Foo{ 
    public string Name;
}

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

}
0

Класс B вложен внутри класса A, и у нас есть свойство BProperty в классе 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

Вы указываете настройку отношений между Teachers и Students (надеюсь, подходящие).

Это может быть индивидуально для частного обучения, или это может быть один-ко-многим, если учащиеся посещают занятия с учителями, или это может быть много-ко-многим, если учащиеся посещают несколько классов.

Кстати, скажите своему учителю, что это плохой пример для установки, потому что он настолько неоднозначен, и потому что слово "классы" является термином домена кошмара, учитывая существующий смысл слова class в OO.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню