22. juli 2006 - 17:49Der er
7 kommentarer og 1 løsning
Abstract class ?
Hejsa,
Jeg har de sidste par dage siddet og kigget lidt på abstract class. Og kunne godt tænke mig at høre om brugen af disse. De samlignes flere steder med interfaces, men hvornår vælger man brugen af en abstract class og hvornår vælger man et interface ?
Hvad er der af fordele og ulemper ved henholdsvis den ene og den anden ?
Som jeg kan se kan jeg lave inherits fra en abstract class og ikke fra et interface mener det grund nok til at skulle vælge brugen af abstract class i forhold til et interface ?
Håber der er nogen der vil komme med input til det ;o)
Hos Computerworld it-jobbank er vi stolte af at fortsætte det gode partnerskab med folkene bag IT-DAY – efter vores mening Danmarks bedste karrieremesse for unge og erfarne it-kandidater.
Hvis det er en fordel for dig at have noget kode som automatisk skal arves af dem som skal implementere et interface eller arve for en abstract klasse - ja, så er det den abstracte klasse du skal vælge.
Hvis du derimod ikke har noget kode som med fordel kunne placeres i den abstracte klasse eller interfacet, ja så er der ingen grund til at vælge en abstract klasse, og du kan lige så godt foretrække at lave det med et interface.
Man taler om at "implementere et interface" og om at "nedarve en klasse". Ud fra en pragmatisk holdning er der dog ikke nogen essentiel forskel. Forskellen ligger udelukkende i hvad man kan med et interface eller en abstrack klasse.
Når man tegner de to ting i et UML diagram, så ligner de da også hinanden til forveksling. :^)
Java og VB.NET bruger forskellig syntax for det C++ og C# bruger samme syntax for det (selvom et interface i C++ er en klasse med ene abstrakte metoder - i C++ terminologi "pure virtual")
[og jeg synes nu ikke at de ligner hinanden i UML !]
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.