4020 UML klassdiagram objektdiagram

Exempel: objektvariabler, konstruktor, metod, …

public class Hero : Actor
{
  private String name;
  private int health;

  public Hero(String nameOfHero)
  {
    name = nameOfHero;
    health = 8;
  }

  public void Act()
  {
    //code omitted
  }
}

Klassdiagram

Klassdiagram visas nedan.

Hero

  • -name: String
  • -health: int
  1. +Hero(nameOfHero: String)
  2. +Act(): void

Den översta rektangeln innehåller klassens namn.

Den mellersta rektangeln innehåller objektvariabler. Raden ska läsas som

synlighet objektvariabelnsNamn: datatyp

Tecknet - står för private och + betyder public

Den nedersta rektangeln innehåller metoder. Varje rad läses som

synlighet metodensNamn(parameternamn: datatyp): returdatatyp

Objektdiagram

Koden:

Hero myHero;
myHero = new Hero("Ada");

ger nedanstående objekt.

myHero: Hero

  • name "Ada"
  • health 8

Överst i objektdiagrammet ovan står

objektetsNamn: KlassensNamn

Under strecket räknas objektvariablerna upp under varandra. Till höger om varje objektvariabel finns en ruta. Den innehåller värdet på variabeln, då det är en primitiv datatyp eller en pil till ett annat objektdiagram om variabeln är av klassdatatyp.

Ada Lovelace var världens första programmerare.

Ett annat exempel

Kod

public class BankAccount
{
  private int balance;
  private String accountId;

  public BankAccount(String id)
  {
    accountId = id;
    balance = 0;
  }

  public void InsertMoney(int amount)
  {
    balance = balance + amount;
  }
}

public class Bank
{
  private BankAccount accountOne;
  private BankAccount accountTwo;

  public Bank()
  {
    accountOne = new BankAccount("Ada");
    accountTwo = new BankAccount("Babbage");
  }

  public void InsertMoney(String accountId, int amount)
  {
    // code omitted
  }
}

klassdiagram

Klassdiagram enligt UML-syntax (Unified Modeling Language).

BankAccount

  • -balance: int
  • -accountId: String
  1. +BankAccount(id: String)
  2. +InsertMoney(amount: int): void

Bank

  • -accountOne: BankAccount
  • -accountTwo: BankAccount
  1. +Bank()
  2. +InsertMoney(accountId: String, amount: int): void

objektdiagram

Koden nedan ger följande objektdiagram.

Bank myBank = new Bank();
myBank.InsertMoney("Ada", 300);