@startuml class Algo{ Algo() List<Card> getHandsA() boolean getLoseA() } class HandsA{ List<Card> value HandsA(LoseA loseA) void updateResultBy...(...) void updateResultBy...(...) void updateResultBy...(...) void updateResultBy...(...) List<Card> getValue() } class LoseA{ boolean value LoseA() void updateHandsA(HandsA handsA) boolean getValue() } Algo -->"1" HandsA :handsA Algo -->"1" LoseA :loseA HandsA ->"1" LoseA : loseA @enduml