Men hvis du fx bruger C#, kan du oprette en new class i dit namespace. Opret nogen funktioner i den. Disse funktioner kan så kaldes fra alle dine sider. Du må selvom om du vil lave dine funktioner statiske, eller om du vil oprette et objekt af klassen hver gang du vil bruge dem eller noget helt andet.
Jeg må dog indrømme det bare var sådan jeg selv gjorde da jeg arbejde med .Net. Jeg ved ikke om det er den pæneste måde at gøre det på.
Jeg ved godt hvilke muligheder der findes, men ud fra objekt orintered programering kigger man jo meget på "kobling" og forsøger at have de svagest koblinger i sit design. Det var derfor jeg spurgt :-)
hej c-sharp :o) jeg synes det er stærkt afhængigt af hvad det er for en form for metoder der er tale om.... løs kobling er ikke det eneste (og ofte heller ikke det rigtigste) mål.
der kan være situationer hvor arv synes mest hensigtsmæssigt, og andre hvor interfaces synes bedre, men der er også masser af situationer hvor navnegenbrug er at foretrække.
hvis du (for at tage et eksisterende eksemel) ønsker at lave en metode der returnerer en tekstrepræsentation af et givent objekt (ToString()) ser arv ud til at gå ganske godt, men hvis du ønsker at en programmør skal kunne lave en "lækker" iteration over collections synes et interface at fungere (IEnumerable).
eksempler på navnegenbrug er der også masser af i .NET, og man kommer hurtigt ud i dem selv.
laver du f.eks. din egen samling customiserede kontroller. er det tænkeligt at du ville have lyst til at lægge en .ExtraMethod() ind, og da du ikke kan arve fra flere klasser, og heller ikke har lyst til at lave en ny implementering af alle standardkontroller - kunne du vælge at genbruge navnet ExtraMethod() på specialiseringer af teksbokse, dropdownlister, radiobuttons mv...
aggregering er en fuldstændig naturlig ting, man ikke skal forsøge at undgå (OOP giver sådan set ikke nogen mening uden :o), men jeg er enig i, at det er en god idé at forsøge at begrænse sine koblingspunkter, men det må ikke blive på bekostning af de enkelte klassers integritet/genkendelighed/samhørighed... (det engelske ord man plejer at bruge er cohesion).
Såh.... hvis du smider et par eksempler herud, skal jeg nok give et bud på hvordan jeg selv ville gøre det.
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.