问题一:
部门类:部门编号 部门名称
员工类:员工ID,员工姓名。。。
问题:员工类与部门关联
是用 public 部门 所属部门{get;set;} 还是用public string 部门编号{get;set;}
感觉用前者更合理,但是如果用前者,在将员工信息绑定到datagridview时如何同时显示部门的信息呢?
问题二:
人:抽象类 姓名 行不 年龄 籍贯。。。。。
员工:继承至 人
联系人:继承至 人
机构:抽象类 机构编号 名称 地址 电话 。。
总部:继承至 机构
分店:继承至 机构
客户:继承至 机构
供应商:继承至 机构
其中 机构类 中要不要定义个属性 人员列表。 IList<人> 还是不定义在机构这个类中,而直接定义到 客户、供应商 类中
如客户 增加属性 IList<联系人>
分店 增加属性IList<员工>
怎么定义合理?
问题一:重写部门类的 ToString 方法,返回值为部门编号,或者绑定到部门类的部门编号字段(WPF中是可以这么绑定的,DataGridView里可能不行,不过像使用DataBindings.Add方法时也是支持对象属性绑定的,你可以自己测试下).
问题二:要不要抽象,这是跟你的应用场景相关的,通常来说,如果子类没有特殊于父类的方法或属性就不用抽象。面向对象的主旨意在封装变化,你应该根据你的应用场景选择合适的对象。