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 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
      }
  }

  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;
      }
  }

klassdiagram

Bank

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

BankAccount

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

objektdiagram

Koden nedan ger följande objektdiagram.

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