Gebruikt Abstracte klasse

Status
Niet open voor verdere reacties.

OcketN

Nieuwe gebruiker
Lid geworden
15 jun 2010
Berichten
4
Beste,

normaal gezien ben ik een java programmeur en door de situatie ben ik nu in c# aan het programmeren. Dus als mijn vraag wat gek klinkt, dat zou dan wel eens de reden kunnen zjin.

Ik heb een abstracte klasse gedefinieerd. Deze klasse implementeert een interface, waardoor ik verplicht ben de methodes te implementeren in mijn abstracte klasse. Laat ons deze methode verplicht() noemen.

Nu wens ik een concrete klasse te maken, die overerft van de abstracte klasse.

Code:
public concreteKlasse : abstracteKlasse
{
...

         public Type doeIets()
        {
             return this.verplicht();
         }


}

Dus in mijn concrete klasse wil ik de methode gebruiken die gedefinieerd staat in min abstracte klasse. Omdat de een overerft van de ander had ik verwacht dat in mijn concrete klasse gebruik kon maken van de vermeende overge�rfde methode verplicht(). toch lijjkt dit niet te lukken, ik krijg de volgende foutmelding:

'namespace.AbstracteKlasse' does not contain a definition for 'verplicht()'

Het zou mij sterk verbazen mocht dit niet mogelijk zijn in c#...

In elk geval, dank bij voorbaat

OcketN
 
Hey,

C# is dan wel jonger dan Java maar het is heel goed mogelijk. Hieronder de code die werkt:

De abstract class

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace WindowsFormsApplication1
{
    public abstract class AbstractClass
    {
        public abstract string StringDing { get; set; }
        public abstract void DoeIets();
    }
}

De concrete class

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace WindowsFormsApplication1
{
    public class ConcreteClass : AbstractClass
    {
        public override string StringDing
        {
            get
            {
                throw new NotImplementedException();
            }
            set
            {
                throw new NotImplementedException();
            }
        }

        public override void DoeIets()
        {
            throw new NotImplementedException();
        }
    }
}

En nog even een tip, op het moment dat je in de class die overerft de abstract class hebt getypt, kun je vervolgens op de text van de abstractclass rechts klikken en dan "Implement abstract class" of zo iets.

Hopelijk is dit wat je wou weten.

Kind regards,

Matthijs Koopman
http://www.simplysoft.nl
 
Laatst bewerkt:
Hartelijk dank voor uw reactie en hulp!! :)

Met vriendelijke groeten,

OcketN
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan