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
- +Hero(nameOfHero: String)
- +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
- +BankAccount(id: String)
- +InsertMoney(amount: int): void
Bank
- -accountOne: BankAccount
- -accountTwo: BankAccount
- +Bank()
- +InsertMoney(accountId: String, amount: int): void
objektdiagram
Koden nedan ger följande objektdiagram.
Bank myBank = new Bank();
myBank.InsertMoney("Ada", 300);