14
Introduction to Java Class Diagrams

Introduction to Java Class Diagrams. Classes class Account { … } Account

Embed Size (px)

Citation preview

Page 1: Introduction to Java Class Diagrams. Classes class Account { … } Account

Introduction to Java Class Diagrams

Page 2: Introduction to Java Class Diagrams. Classes class Account { … } Account

Classes

class Account

{

}

Account

Page 3: Introduction to Java Class Diagrams. Classes class Account { … } Account

Attributes

class Account

{

float balance = 0;

float limit;

}

Account

balance: float = 0limit: float

[visibility] attributeName [multiplicity] [: type [ = initialValue ] ]

Page 4: Introduction to Java Class Diagrams. Classes class Account { … } Account

Visibility

class Account

{

private float balance = 0;

private float limit;

}

Account

- balance: float = 0- limit: float

+ public- private# protected~ package

Page 5: Introduction to Java Class Diagrams. Classes class Account { … } Account

Operations (methods)

class Account

{

private float balance = 0;

private float limit;

public void deposit(float amount)

public void withdraw(float amount)

}

Account

- balance: float = 0- limit: float

[visibility] methodName( [parameter: type]* ) [ : returnType]

+ deposit( amount: float )+ withdraw( amount: float )

Page 6: Introduction to Java Class Diagrams. Classes class Account { … } Account

Class scope

class Person

{

private static int numPeople;

private String name;

public String getName()

public static int getNumPeople()

}

Person

- numPeople: int- name: String

+ getName() : String+ getNumPeople() : int

Page 7: Introduction to Java Class Diagrams. Classes class Account { … } Account

CompositionA comprises local objects that die when A dies

class Basket

{

Item item = new Item();

}

Basket Item

Page 8: Introduction to Java Class Diagrams. Classes class Account { … } Account

Aggregationcomprised of sharable objects

class Computer{ Device dev;

Computer(Device dev) { this.dev = dev; }}

Computer Device

Page 9: Introduction to Java Class Diagrams. Classes class Account { … } Account

Multiplicities

class Basket

{

Item item = new Item();

}

Basket Item1

Page 10: Introduction to Java Class Diagrams. Classes class Account { … } Account

Multiplicities

class Basket

{

Item[] item = new Item[5];

}

Basket Item5

Page 11: Introduction to Java Class Diagrams. Classes class Account { … } Account

Multiplicities

class Basket

{

// may or may not exist

Item item;

}

Basket Item0..1

i..j means i <= # objects <= j

Page 12: Introduction to Java Class Diagrams. Classes class Account { … } Account

Multiplicities

class Basket

{

List<Item> itemList = newArrayList<Item>();

}

Basket Item0..*

* means no a priori upper limit

Page 13: Introduction to Java Class Diagrams. Classes class Account { … } Account

Generalization (is a)class Person

{

}

class Employee extends Person

{

}

Person

Employee

Page 14: Introduction to Java Class Diagrams. Classes class Account { … } Account

Realizationinterface Person

{

}

class Employee implements Person

{

}

Person

Employee

Employee

Person