UML - Interfejsy i Realizacje

Spisie treści
Czasami zdarza się, że robiąc diagramy na rozbudowanych systemach zdajemy sobie sprawę, że niektóre klasy nie należą do klasy głównej, jednak możemy potrzebować pewnych operacji tej klasy głównej, co pozostawia nam kilka opcji otwartych.
Jedną z tych opcji jest Berło, ta koncepcja pozwala nam określić operacje w klasie i jak je zaprezentować innym.
Berło
ten Berło pozwala na określenie zestawu operacji w klasie, które mogą być używane przez innych, jest reprezentowane w taki sam sposób, jak klasa za pomocą prostokąta, jednak różni się od klasy tym, że nie będzie miała atrybutów, ponieważ będzie tylko zestaw operacji.
Aby odróżnić Berło z klasa z jego ukrytymi atrybutami musimy posługiwać się słowem interfejs jako stereotypem lub po prostu umieścić a i przed nazwą tego interfejsu.
Zobaczmy następujący przykład implementacji interfejsu na naszym diagramie:

W tym przypadku jako przykład bierzemy klawiaturę, jeśli spojrzymy na klawiaturę komputera i klawiaturę maszyny do pisania, są one bardzo podobne, to możemy wywnioskować, że możemy stworzyć interfejs, w którym włączymy operację klawiatura (), w którym po naciśnięciu klawisza musi zwrócić odpowiedź w formie listu, albo na papierze w przypadku maszyny do pisania, albo na ekranie naszego komputera; wtedy widzimy, że w klasie klawiatury mamy kilka dodatkowych operacji, które odpowiadają różnicom między klawiaturą komputera a maszyną do pisania.
Jak widać, implementacja interfejsu nie jest tak skomplikowana.
Mamy też pominięty formularz dla być w stanie wyrenderować interfejs Wewnątrz klasy możemy zobaczyć ten formularz na poniższym obrazku:

Widoczność
ten widoczność odpowiada sposobowi, w jaki pokazujemy operacje i atrybuty klasy, są pewne procesy, które nie powinny być pokazywane innym klasom, więc zdecydowaliśmy się uczynić je prywatnymi, spełnia to jeden z warunków orientacji obiektowej jakim jest kapsułkowanie.
Mamy 3 poziomy widoczności, które są następujące:
  • Publiczny: można to zobaczyć z dowolnej innej klasy i aby ją określić, odgraniczamy ją znakiem +.
  • Chroniony: może to zobaczyć tylko oryginalna klasa i wszyscy, którzy po niej dziedziczą, oznaczamy to #.
  • Prywatny: Tylko oryginalna klasa może to zobaczyć i jest odgraniczona przez -.
Dochodzimy więc do koncepcji realizacja, gdzie określamy, że interfejsy muszą umieszczać swoje operacje publicznie, w przeciwnym razie ta liczba nie miałaby sensu, ponieważ inne klasy nie byłyby w stanie zobaczyć odpowiednich operacji.
Zobaczmy następujący przykład, jak określić widoczność operacji i atrybutów klasy:

Jak widać na obrazku, telewizja ma działanie prywatne kolorObrazekNaEkranie (), wnioskujemy, że tylko ta operacja jest ważna dla tej klasy i że inna klasa nie musiałaby mieć dostępu do tej operacji.Podobał Ci się i pomógł ten samouczek?Możesz nagrodzić autora, naciskając ten przycisk, aby dać mu pozytywny punkt

Będziesz pomóc w rozwoju serwisu, dzieląc stronę ze swoimi znajomymi

wave wave wave wave wave