示例#1
0
        public void Casting()
        {
            Car sportCar = new SportCar();
            Car truck    = new Truck();

            /*            SportCar realSportCar = (SportCar)sportCar; *//*rzutowanie w dół*//*
             *          realSportCar.DisplayInfo();
             *          Car realSportCar2 = (Car)sportCar; *//*rzutowanie w górę*//*
             *          realSportCar2.Boost();
             */
            bool isSportCar = sportCar is SportCar;/*rzutowanie ze sprawdzeniem, czy można rzutować sposób 1*/

            if (isSportCar)
            {
                ((SportCar)sportCar).DisplayInfo();
            }

            SportCar castedSportCar = sportCar as SportCar;/*rzutowanie ze sprawdzeniem, czy można rzutować sposób 2*/

            if (castedSportCar != null)
            {
                castedSportCar.DisplayInfo();
                /*   ((SportCar)castedSportCar).DisplayInfo();*/
            }
        }
示例#2
0
/*        public void Begin()
 *      {
 *          SportCar sportCar = new SportCar();
 *          Truck truck = new Truck();
 *
 *          List<Car> cars = new List<Car>
 *          {
 *              sportCar,truck
 *          };
 *
 *          foreach (Car car in cars)
 *          {
 *              car.Start();
 *              car.Accelerate();
 *          }
 *      }*/
        public void Begin()
        {
            Car sportCar = new SportCar();
            Car truck    = new Truck();

            List <Car> cars = new List <Car>
            {
                sportCar, truck
            };

            foreach (Car car in cars)
            {
                car.Start();
                car.Accelerate();
            }
        }