waarom 'override' en 'virtual' gebruiken?

Status
Niet open voor verdere reacties.

balthazar1971

Nieuwe gebruiker
Lid geworden
25 apr 2016
Berichten
1
Hoi,
Ik ben C# aan het leren mbv het boek Head First C#. En nu bij het hoofdstuk Inheritance staat dat je een method van een baseclass alleen kan veranderen als je 'override' en 'virtual' gebruikt. Maar als ik die weglaat gaat het ook prima. Wat is dan het belang van override en virtual?
Ik heb net gegoogled en kwam wel wat tegen (engels) wat me boven de pet ging. Hopelijk is het een beetje eenvoudig uit te leggen voor beginners.

Groeten,
Tomas

Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace overrideProefje
{
    public class vogel
    {
        public int aantalVeren;
        public string vogelSoortNaam;
        public void fly() { System.Windows.Forms.MessageBox.Show("flap flap"); }
    }

    class duif : vogel
    {
        public void loop() { System.Windows.Forms.MessageBox.Show("hink hink"); }
        public void fly() { System.Windows.Forms.MessageBox.Show("duivenflap duivenflap"); }
    }

    public partial class Form1 : Form
    {
        vogel tweety = new vogel();
        duif daffy = new duif();

        public Form1()
        { InitializeComponent(); }

        private void button1_Click(object sender, EventArgs e)
        { tweety.fly(); }

        private void button2_Click(object sender, EventArgs e)
        { daffy.fly(); }
    }
}
 
Beetje een oud topic maar wil wel graag reageren.

Probeer nu eens:
Code:
vogel daffy = new duif();

Dan zal de uitkomst "flap flap" zijn en niet "duivenflap duivenflap". Bij inheritance wordt wel de juiste method aangesproken.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan