さて、ちょっと間があいてしまったけど、組織に属する社員をどうやって表現するかについてだ。

DBにそのデータを格納する場合、当然ながら次のような感じになるだろう。

社員番号 苗字 名前 年齢
001010 Mr T 99
001020


これを表現するためのクラスは社員クラスで、

Public Class 社員
  Public Property 社員番号() as String
  end Property

  Public property 名前() as String
  end Property

  Public Property 年齢() as Integer
  end Property
end Class

次に役職は、
役職マスタ、役職テーブルの二つがあり、

役職CD 役職名
0 課長
1 係長
2 リーダー
3 一般
社員CD 所属部 役職CD
00010 0001 1
00010 0002 2
00020 0002 3


そのクラスは

 Public Class 役職
   public Property 役職CD() as integer
   end Property

   Public Property 役職名() as String
   end Property

  Public Property 所属部署() as String
  End Property
 end Class
 これを社員クラスに関連つけて、

Public Class 社員
  Public Property 社員番号() as String
  end Property

  Public property 名前() as String
  end Property

  Public Property 年齢() as Integer
  end Property

 Public Property 役職取得() as List(of 役職)
  end Property

  Public Sub 兼任役職追加(byval 対象役職CD as String,byval 対象所属部署 as String)

  End Function

 Public Sub 兼任役職削除(byval 対象役職CD as String,byval 対象所属部署 as String)

  End Function
end Class

こんな感じだろうか。