Jeg har klasse der arver fra JTextField. I denne klasse overskriver jeg metoder så jeg kan tilpasse den til systemet. Man kan bl.a sætte de karakterer den skal acceptere eller antal karakterer det skal være muligt at skrive i den. Denne klasse kan så både benyttes af mig og andre i firmaet.
Mit spørgsmål går så på hvordan jeg kan gøre de metoder denne klasse arver fra JTextField private så jeg selv kan styre hvilke metoder der må benyttes i denne klasse og hvilke der ikke må.
Hvis jeg f.eks ikke vil give lov til at man kan kalde setFont(Font f) på denne klasse, hvordan kan jeg så forhindre det?
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Det jeg mente var at det slet ikke skal være muligt at se at der er en setFont metode i min sub-klasse. Spørgsmålet er om man kan designe sig ud af det her.
en helt fundamental egenskab ved arv er at man kan:
SuperKlasse o = new SubKlasse();
og det hænger ikke godt sammen med at SubKlasse fjerner nogle metoder.
Den pæne måde er at encapsulate og delegate fremfor at extende, men den kan måske godt være lidt tung for en Swing klasse.
Den mindre pæne måde er at overskrive med en public metode som thrower en grim RuntimeException.
Synes godt om
Ny brugerNybegynder
Din løsning...
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.