I dette særtema om aspekter af AI ser vi på skiftet fra sprogmodeller til AI-agenter, og hvordan virksomheder kan navigere i spændet mellem teknologisk hastighed og behovet for menneskelig kontrol.
Et interface implementerer som sådan ikke noget funktionalitet, men er blot en kontrakt med omverdenen om hvad der kan forventes at findes af funktionalitet i din klasse. Desuden kan man nedarve flere interfaces, men (med undtagelse af C++) kun en superklasse...
C++ har f.eks. ikke interfaces, så der laver man bare abstrakte klasser med udelukkende abstrakte metoder (pure virtual metoder i C++ terminologi)
der er så den lille praktiske detalje at i C# kan du kun arve fra en klasse men implementere flere interfaces, så hvis du arver fra en 100% abstrakt klasse har du brugt din eneste arve mulighed og kan ikke arve fra andet, derfor er interfaces praktisk
derudover udsender brug af interfaces nogle lidt andre signaler: ikke bare er der ingen funktionalitet nu - der vil heller aldrig blive implementeret funktionalitet
Jeg har en klasse A, som bliver nedarvet af X og Y . Jeg vil gerne have en metode i A som bliver overskrevet i både X og Y, med forskellige funktionalitet, denne metode skal aldrig udføres direkte på A. Hvordan gør jeg det, jeg kan jo ikke erklærre den abstract, uden at hele klassen er abstract.
Forskllen er at din nedarvene klasser godt kan implementere flere interfaces, men kun én klasse.
Du kan f.eks. lave et interface med den metode X og Y skal implementere, og så lade X og Y implementere dit nye interface. Det giver ingen mening at definere metoden på A, da A ikke skal have metoden.
Jeg synes nu stadig at det ville kunne være brugbart at kunne erklærre nogen metoder abstrakt uden at hele klassen var abstrakt , men jeg klarer mig uden. (jeg kaster bare en exception hvis den metode jeg synes skulle være abstrakt bliver kaldt). Jeg ved godt at mit design skyldes at jeg ikke har fattet OOP 100% men jeg håber det går op for mig hen ad vejen hvordan jeg burde gøre.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.