modeling possible polymorphism?

Discussion in 'Java' started by Elhanan, Oct 24, 2006.

  1. Elhanan

    Elhanan Guest

    hi..

    i have entity called AssuredPerson and entity called PolicyOwner, both
    have similar attributes (meaning Abstract Person Class)

    however an AssuredPerson can be PolicyOwner (but not the way around).

    so i've added a property called isPolicyHolder (boolean) to
    AssuredPerson.

    is this correct way to go about it?
     
    Elhanan, Oct 24, 2006
    #1
    1. Advertising

  2. Ideally, if the attributes are same, this seems more like 'has-a'
    relationship. There is a Person who "has" a Policy. The qualification
    of a person being "assured" depends on him "having a" valid policy. So,
    the entities could be a Person and a Policy IMO.

    -cheers,
    Manish
     
    Manish Pandit, Oct 24, 2006
    #2
    1. Advertising

  3. Elhanan

    Elhanan Guest

    yes but it may be possible the PolicyHolder may have differen
    attributes then AssuredPerson Attributes, it could be 2 different ppl
    or the same person.

    Manish Pandit wrote:
    > Ideally, if the attributes are same, this seems more like 'has-a'
    > relationship. There is a Person who "has" a Policy. The qualification
    > of a person being "assured" depends on him "having a" valid policy. So,
    > the entities could be a Person and a Policy IMO.
    >
    > -cheers,
    > Manish
     
    Elhanan, Oct 25, 2006
    #3
  4. Elhanan

    Tom Forsmo Guest

    Elhanan wrote:
    > yes but it may be possible the PolicyHolder may have differen
    > attributes then AssuredPerson Attributes, it could be 2 different ppl
    > or the same person.


    This is a dynamic role issue. so instead of modelling it as two
    different person type classes, which have the well know limitation of a
    person only being able to have one role/function, you should rather have
    a person class with a "has-a" relationship to some role objects. This
    allows you to combine persons/roles as you desire dynamically.

    These role objects could then contain the specifics of that persons
    role. This would support dynamic/run-time changes in a persons role. In
    contrast to the static class model you originally proposed, which would
    require changes to the code every time a new person/role relationship is
    invented.

    For a policy you would follow the same principle with regard to people
    involved in the policy, e.g. say you needed to create a new policy where
    there was a third participant in the policy, e.g. "PolicyGuardian".
    With the dynamic version you only need to add the PolicyGuardian class
    and a couple of methods to deal with that participant, and you are ready
    to go.

    tom

    >
    > Manish Pandit wrote:
    >> Ideally, if the attributes are same, this seems more like 'has-a'
    >> relationship. There is a Person who "has" a Policy. The qualification
    >> of a person being "assured" depends on him "having a" valid policy. So,
    >> the entities could be a Person and a Policy IMO.
    >>
    >> -cheers,
    >> Manish

    >
     
    Tom Forsmo, Oct 29, 2006
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. moe
    Replies:
    1
    Views:
    2,304
    Tom Hawkins
    Oct 26, 2003
  2. Stefan Oedenkoven

    Modeling tools for State machines...

    Stefan Oedenkoven, Jul 26, 2004, in forum: VHDL
    Replies:
    2
    Views:
    776
    Stefan Oedenkoven
    Jul 29, 2004
  3. Krivenok Dmitry
    Replies:
    13
    Views:
    1,451
    Axter
    Jun 1, 2006
  4. tenxian
    Replies:
    2
    Views:
    436
    Arne Vajhøj
    Apr 8, 2008
  5. Clifford Heath
    Replies:
    2
    Views:
    205
    Clifford Heath
    Feb 7, 2007
Loading...

Share This Page