Beispiel #1
0
    static void Main(string[] args)
    {
        //Tässä luodaan robotti olio.
        Robotti robotti = new Robotti();

        //Tässä kutsutaan IVideoKamera liittymän Aloita()
        //metodi.
        robotti.Aloita();

        //Tässä kutsutaan IVideoKamera liittymän Lopeta()
        //metodi.
        robotti.Lopeta();

        //Koska IRobotti liittymän metodit toteutettiin
        //eksplisiittisesti, robotti olio pitää ensin muuntaa
        //IRobotti liittymäksi, minkä jälkeen pystytään
        //kutsumaan IRobotti liittymän metodit.
        IRobotti iRobotti = robotti as IRobotti;

        //Tässä kutsutaan IRobotti liittymän Aloita() metodi.
        iRobotti.Aloita();

        //Tässä kutsutaan IRobotti liittymän RobottiToiminnassa
        //property. Huomaa, että koska Robotti luokassa on vain
        //yksi RobottiToiminnassa property, se voidaan kutsua
        //myös robotti olion kautta seuraavasti:
        //Console.WriteLine("Robotti on toiminnassa: " +
        //robotti.RobottiToiminnassa);

        Console.WriteLine("Robotti on toiminnassa: " +
                          iRobotti.RobottiToiminnassa);

        //Tässä kutsutaan IRobotti liittymän Lopeta() metodi.
        iRobotti.Lopeta();
    }
Beispiel #2
0
    static void Main(string[] args)
    {
        //Tässä luodaan robotti-olio.
        Robotti robotti = new Robotti();

        //Seuraavassa alustetaan robotti-olio.
        robotti.AsetaAloitusPiste(10, 5);
        robotti.AsetaLopetusPiste(54, 98);

        //Tässä kutsutaan RobottiToiminnassa property
        Console.WriteLine("Robotti on toiminnassa: " +
                          robotti.RobottiToiminnassa);

        robotti.Aloita();


        Console.WriteLine("Robotti on toiminnassa: " +
                          robotti.RobottiToiminnassa);

        robotti.Lopeta();

        Console.WriteLine("Robotti on toiminnassa: " +
                          robotti.RobottiToiminnassa);

        //Tässä kutsutaan Laskematka(), joka on periytynyt
        //Matka luokasta.
        Console.WriteLine("Robotin kuljettama matka: {0,7:f2} cm ", robotti.Laskematka());

        Console.WriteLine("Tyyppimuunnos liittymaan");
        //Tyyppimuunnos liittymään
        IRobotti iRobotti = (IRobotti)robotti;

        //Liittymäksi muunnetulla oliolla voidaan viitata vain liittymässä esiintyviin jäseniin
        iRobotti.Aloita();
        iRobotti.Lopeta();
        // mutta ei olion roboti luokassa oleviin muihin jäseniin.
        // kuten iRobotti.maara, vain robotti.maara
        Console.WriteLine("Maara: " + robotti.maara);

        // is-operaattori
        if (robotti is IRobotti)
        {
            System.Console.WriteLine("robotti-olio tukee IRobotti liittymaan");
        }


        else
        {
            System.Console.WriteLine("robotti-olio ei tue IRobotti liittymaan");
        }
    }
Beispiel #3
0
    static void Main(string[] args)
    {
        //Tässä luodaan robotti-olio.
        Robotti robotti = new Robotti();

        //Seuraavassa alustetaan robotti-olio.
        robotti.AsetaAloitusPiste(10, 5);
        robotti.AsetaLopetusPiste(54, 98);

        //Tässä kutsutaan RobottiToiminnassa –property.
        Console.WriteLine("Robotti on toiminnassa: " +
                          robotti.RobottiToiminnassa);

        robotti.Aloita();

        Console.WriteLine("Robotti on toiminnassa: " +
                          robotti.RobottiToiminnassa);

        robotti.Lopeta();

        Console.WriteLine("Robotti on toiminnassa: " +
                          robotti.RobottiToiminnassa);

        //Tässä kutsutaan robotin Matka-property.
        Console.WriteLine("Robotin kuljettama matka: {0,7:f2} cm ", robotti.Matka);

        // tarkistetaam tukeeko olion luokka tiettyä liittymää
        if (robotti is IRobotti)
        {
            System.Console.WriteLine("robotti-olio tukee IRobotti liittymaa");
        }
        else
        {
            System.Console.WriteLine("robotti-olio ei tue IRobotti liittymaa");
        }

        //Tässä tyyppimuunnos liittymään.
        IRobotti iRobotti = (IRobotti)robotti;

        //Tämän jälkeen iRobotti olion kautta voidaan kutsua liittymän IRobotti  jäsenet
        iRobotti.Aloita();
        Console.WriteLine("Robotti on toiminnassa: " + iRobotti.RobottiToiminnassa);
    }
Beispiel #4
0
    static void Main(string[] args)
    {
        //Tässä luodaan robotti-olio.
        Robotti robotti = new Robotti();

        //Tässä kutsutaan liittymän IVideoKamera
        //metodi Aloita().
        robotti.Aloita();

        //Koska liittymän IRobotti  metodit toteutettiin
        //eksplisiittisesti, robotti-olio pitää ensin muuntaa
        //IRobotti-tyyppiseksi, minkä jälkeen liittymästä
        //IRobotti periytyvät metodit pystytään kutsumaan.
        IRobotti iRobotti = robotti as IRobotti;

        //Tässä kutsutaan liittymästä IRobotti periytyvä
        //metodi Aloita().
        iRobotti.Aloita();

        //Tässä kutsutaan liittymästä IVideoKamera periytyvä
        //metodi Lopeta().
        robotti.Lopeta();
    }