如何识别对象并在它们之间建立关系[c#]

时间:2011-06-02 05:15:35

标签: oop

识别对象及其关系的最佳方法是什么? 由于我是Programming [c#windows application]的新手,我发现很难在对象之间建立关系。 谁能建议我最好的方式开始?

谢谢, KARTHIK

2 个答案:

答案 0 :(得分:4)

您应该阅读面向对象的编程和设计。然后阅读C#编程。

以下是一些书籍建议:

然后,当你准备好了,你可以继续Jon Skeet's book =)

如果您不想购买图书,请查看此site。它涵盖了面向关键对象的设计原则。

答案 1 :(得分:2)

我会尝试用一个人为的例子指出你正确的方向:

假设我们想为超市员工制作一个简单的管理应用程序。我们需要存储一些个人信息和与工作相关的信息,因此我们需要姓名,地址,开课日期,部门和职位。

现在我们可以尝试总结一下这个规范,并思考如何对每一位数据进行建模。

  1. StaffMember
    • 名称
    • 地址
    • 开始日期
    • 名称
    • 位置
  2. 位置
    • 标题
    • 角色
  3. 现在我们可以将这些想法映射到c# classes并使用properties来保存我们需要的数据:

    class StaffMember
    {
        public string Name { get; set; }
        public string Address { get; set; }
        public DateTime DateStarted { get; set; }
        public Department Department { get; set; }    // class Department
    }
    
    class Department
    {
        public string Name { get; set; }
        public Position Position { get; set; }    // class Position
    }
    
    class Position
    {
        public string Title { get; set; }
        public string PrimaryRole { get; set; }
    }
    

    样本用法:

    static void Main()
    {
        StaffMember employee = new StaffMember();
        employee.Name = "Ali Gray";
        employee.Address = "123 Abc Street";
        employee.DateStarted = DateTime.Now;
    
        // Now add the employees department
        employee.Department = new Department();
        employee.Department.Name = "Checkout";
    
        // Now add the employees position
        employee.Department.Position = new Position();
        employee.Department.Position.Title = "Bag Packer";
        employee.Department.Position.PrimaryRole = "Pack bags";
    }
    

    显然,这是一个极其简化的示例,但希望它能帮助您理解oo design