UML - Interfaces en realisaties

Inhoudsopgave
Soms gebeurt het dat wanneer we diagrammen maken op uitgebreide systemen, we ons realiseren dat sommige klassen niet tot de hoofdklasse behoren, maar het kan zijn dat we enkele bewerkingen van die hoofdklasse nodig hebben, waardoor we verschillende opties open hebben.
Een van deze opties is een Koppel, stelt dit concept ons in staat om bewerkingen in een klasse te specificeren en hoe deze aan anderen te presenteren.
Koppel
De Koppel stelt ons in staat om een ​​reeks bewerkingen in klasse te specificeren die door anderen kunnen worden gebruikt, het wordt op dezelfde manier weergegeven als een klasse met behulp van een rechthoek, maar het verschilt van een klasse doordat het geen attributen heeft omdat het alleen een reeks bewerkingen.
om een ​​te onderscheiden Koppel van een klas met zijn verborgen attributen, moeten we het woord interface gebruiken als een stereotype, of gewoon a . plaatsen I voor de naam van die interface.
Laten we het volgende voorbeeld bekijken van hoe een interface in ons diagram te implementeren:

In dit geval nemen we het toetsenbord als voorbeeld, als we kijken naar een computertoetsenbord en een typemachinetoetsenbord lijken ze erg op elkaar, dan kunnen we concluderen dat we een interface kunnen maken, waarin we de bewerking opnemen toetsenbord (), waarbij het bij het indrukken van een toets een antwoord moet geven in de vorm van een brief, hetzij op papier in het geval van de typemachine, hetzij op het scherm van onze computer; dan zien we dat we in de toetsenbordklasse verschillende extra bewerkingen hebben, deze komen overeen met de verschillen tussen het computertoetsenbord en de typemachine.
Zoals we kunnen zien, is het implementeren van een interface niet zo ingewikkeld.
We hebben ook een weggelaten formulier voor: in staat zijn om de interface te renderen Binnen een klasse kunnen we dit formulier zien in de volgende afbeelding:

Zichtbaarheid
De zichtbaarheid komt overeen met de manier waarop we de bewerkingen en attributen van een klasse tonen, er zijn bepaalde processen die niet aan andere klassen moeten worden getoond, dus hebben we besloten ze privé te maken, dit voldoet aan een van de voorwaarden van objectoriëntatie, namelijk de inkapseling.
We hebben 3 niveaus van zichtbaarheid, de volgende:
  • Openbaar: dit kan vanuit elke andere klasse worden gezien en om het te specificeren, markeren we het met een + teken.
  • beschermd: dit kan alleen worden gezien door de originele klasse en al degenen die ervan erven, we markeren het met de #.
  • Privaat: Alleen de originele klasse kan dit zien en wordt afgebakend door een -.
Dus komen we bij het concept van realisatie, waar we specificeren dat de interfaces hun bewerkingen openbaar moeten plaatsen, anders zou dit cijfer geen zin hebben omdat de andere klassen de bijbehorende bewerkingen niet zouden kunnen zien.
Laten we het volgende voorbeeld bekijken van hoe u de zichtbaarheid van de bewerkingen en kenmerken van een klasse kunt specificeren:

Zoals we in de afbeelding zien, heeft televisie de operatie privé kleurPictureOnScreen (), leiden we af dat alleen deze bewerking belangrijk is voor deze klasse en dat een andere klasse geen toegang tot die bewerking hoeft te hebben.Vond je deze Tutorial leuk en heb je eraan geholpen?Je kunt de auteur belonen door op deze knop te drukken om hem een ​​positief punt te geven
wave wave wave wave wave