在对象中有一个对象列表是否正常?

Ent*_*ode 3 c# oop

我是OO设计的新手,我想知道对象是否包含其他对象列表的设计是否典型.一个例子如下:

// Person object containing a list of phone numbers
public class Person
{
    public Guid Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public List<Phone> Contacts { get; set; }

    public void AddPhoneNumber(Phone phone)
    {
        Contacts.Add(phoneNumber);
    }
}

// Phone object
public class Phone
{
    public Guid Id { get; set; }
    public string Name { get; set; }
    public string Number { get; set; }
}

// Example code to establish an object:
Person p1 = new Person();
p1.FirstName = "John";
p1.LastName = "Smith";
p1.AddPhoneNumber(new Phone() { Number = "555957000" });
p1.AddPhoneNumber(new Phone() { Number = "555579561" });
Run Code Online (Sandbox Code Playgroud)

是否有更好的结构方法可以简化设计并更容易访问数据?谢谢!

Gee*_*eek 6

是的,让对象包含对象列表绝对没问题.在OOPs这称为组合,它代表参与之间的强烈关系class.