Class hanyalah sebuah persegi panjang dibagi menjadi tiga kompartemen. Kompartemen
paling atas berisi nama class. Kompartemen tengah berisi daftar atribut (variabel
anggota), dan kompartemen bawah berisi daftar operasi (fungsi anggota). Dalam banyak
diagram, bagian bawah dua kompartemen dihilangkan. Bahkan dua kompartemen di
bawah ada, dua kompartemen tersebut biasanya tidak menunjukkan setiap atribut dan
operasi. Tujuannya adalah untuk menunjukkan hanya atribut-atribut dan operasi yang
berguna untuk diagram tertentu. Kemampuan untuk menyingkat ikon adalah salah satu
keunggulan dari UML. Setiap diagram memiliki tujuan tertentu. Tujuan yang mungkin
untuk menyorot pada bagian tertentu dari sistem, atau mungkin untuk mempejelas sistem
secara umum. itu ikon class dalam diagram tersebut disingkat seperlunya. Ada biasanya
pernah ada kebutuhan untuk menunjukkan setiap atribut dan operasi class pada diagram
apapun. Gambar dibawah ini menunjukkan deskripsi UML khas dari class yang mewakili
lingkaran.
Gambar 5. Agregasi
Gambar 5 menunjukkan hubungan agregasi. Dalam hal ini, class Window berisi banyak
contoh Shape. Dalam UML ujung hubungan disebut sebagai "peran". Perhatikan bahwa
peran pada Shape banyak akhir agregasi ditandai dengan a"*". Hal ini menunjukkan
bahwa Window berisi banyak contoh shape. Perhatikan juga bahwa peran ternama. Ini
adalah nama Window yang tahu contoh Shape dari i.e. yakni adalah nama dari variabel
instance dengan Window dalam yang memegang semua Shapes.
Gambar 6. Asosiasi
Gambar 6 diatas menunjukkan bagaimana kita menggambar sebuah asosiasi. Sebuah
asosiasi tidak lain hanyalah sebuah garis yang ditarik antara class yang berpartisipasi.
Dalam Gambar 6 asosiasi memiliki panah untuk menunjukkan bahwa tidak tahu apa-apa
tentang Window. Hubungan ini akan hampir pasti dilaksanakan dengan pointer dari
beberapa jenis. Apa perbedaan antara agregasi dan asosiasi? Perbedaannya adalah salah
satu implikasi. Agregasi menunjukkan hubungan seluruh / sebagian sedangkan asosiasi
tidak. Namun, tidak ada kemungkinan akan banyak perbedaan dalam cara bahwa dua
hubungan diimplementasikan. Artinya, wouldbe sangat sulit untuk melihat kode dan
menentukan apakah hubungan tertentu seharusnya agregasi atau asosiasi. Untuk alasan
ini, itu cukup aman untuk mengabaikan agregasi hubungan sama sekali.
H. Ketergantungan
Kadang-kadang hubungan antara dua class sangat lemah. Mereka tidak dilaksanakan
dengan variabel anggota sama sekali. Sebaliknya mereka mungkin diimplementasikan
sebagai fungsi anggota argumen. Perhatikan, misalnya, fungsi Menggambar dari class
Shape. Misalkan fungsi ini mengambil argumen tipe DrawingContext.
Gambar
menunjukkan
Gambar 7. Ketergantungan
panah putus-putus antara
class
Shape
dan
class