示例#1
0
        static void Main(string[] args)
        {
            Punkt a = new Punkt(2, 4);
            Punkt b = new Punkt3d(1, 2, 3);                 // poliformizm
            //Punkt3d c = new Punkt(1, 2); żle!

            Console.WriteLine("punkt b : " + b.wyswietl());
            //wywołał się tylko konstruktor klasy bazowej (rzutowanie w góre) stracilismy dostep do metod z punkt3d

            Console.WriteLine("punkt b po rzutowaniu w dół : " + ((Punkt3d)b).wyswietl());
            //rzutujemy  bo na Punkt3d : (Punkt3d)b  i wyswietlamy

            Display(a);
            Display(b);
            Display2(a);
            Display2(b);

            // klasa Object
            Console.WriteLine((Object)a);
            Console.WriteLine((Object)a.ToString());
            Console.WriteLine(nazwaKlasy(a));





            Console.ReadLine();
        }
示例#2
0
 // demonstarcja AS
 static void Display2(Punkt p)
 {
     Punkt3d temp = p as Punkt3d;            //jesli niepoprawnie przypisze to temp zostanie null
     if (temp != null)
         Console.WriteLine("Display2: " + temp.wyswietl());
     else
         Console.WriteLine("Display2: " + p.wyswietl());
 }
示例#3
0
    static void Main(string[] args)
    {
        Punkt a = new Punkt(2, 4);
        Punkt b = new Punkt3d(1, 2, 3);

        Console.WriteLine(b.wyswietl());

        Console.ReadLine();
    }
示例#4
0
        static void Main(string[] args)
        {
            Punkt punkt = new Punkt(2, 4);

            Console.WriteLine("Punkt = " + punkt.X + ", " + punkt.Y);

            Punkt3d punkt3d = new Punkt3d(2, 4, 5);

            punkt3d.zmienX(1000);
            Console.WriteLine("Punkt3d = " + punkt3d.X + ", " + punkt3d.Y + ", " + punkt3d.Z);
            Console.WriteLine("metoda wyswietlajaca : " + punkt3d.wyswietl());



            Console.ReadLine();
        }
示例#5
0
        static void Display(Punkt p)
        {
            //if(p is Punkt3d) // IS
            //    Console.WriteLine(((Punkt3d)p).PobierzWsp());
            //else
            //Console.WriteLine(p.PobierzWsp());

            Punkt3d p3d = p as Punkt3d;

            if (p3d == null) // kiedy nie jest mozliwe w p3d bedzie null
            {
                Console.WriteLine(p.PobierzWsp());
            }
            else
            {
                Console.WriteLine(p3d.PobierzWsp());
            }
        }
示例#6
0
        static void Main(string[] args)
        {
            Punkt punkt = new Punkt(5, 10);

            Console.WriteLine(punkt.PobierzWsp());

            Punkt3d punkt3d = new Punkt3d(1, 2, 3);

            Console.WriteLine(punkt3d.PobierzWsp()); // rzutowanie

            Punkt a;
            Punkt b;

            a = new Punkt(1, 5);
            b = new Punkt3d(1, 2, 3);
            Display(a);
            Display(b);
            Console.WriteLine(getClassName(b));

            //   Console.WriteLine(a.PobierzWsp());
            //  Console.WriteLine(((Punkt3d)b).PobierzWsp()); //rzutowanie
            Console.ReadKey();
        }