Beispiel #1
0
        public void Casting() //rzutowanie
        {
            Car sportCar = new SportCar();
            Car truck    = new Truck();

            SportCar realSportCar   = (SportCar)sportCar; //rzutowanie w dół
            SportCar castedSportCar = sportCar as SportCar;

            if (realSportCar != null)        //zabezpieczenie czy zadziałało rzutowanie
            {
                realSportCar.DisplayInfo();  //rzutowanie daje dostęp do metod
            }
            Car realCar = (Car)realSportCar; //rzutowanie w góre
        }
Beispiel #2
0
        public void Begin()
        {
            //Car car = new Car(); --tak nie idzie bo car jest klasą abstrakcyjna
            SportCar sportCar  = new SportCar();
            Truck    truck     = new Truck();
            Car      sportcar2 = new SportCar();

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

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