Instantiation - 2017

From TRCCompSci - AQA Computer Science
Revision as of 14:05, 6 February 2017 by Cameron (talk | contribs) (Instantiation)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Explanation

Instantiation is creating an instance of a class. In simple terms, it's creating a variable. It is said that the variable is an instance of the class.


Skeleton Program Example

//This is the class:
class Simulation
    {
        private Location[,] Landscape;
        private int TimePeriod = 0;
        private int WarrenCount = 0;
        private int FoxCount = 0;
        private bool ShowDetail = false;
        private int LandscapeSize;
        private int Variability;
        private static Random Rnd = new Random();

        public Simulation(int LandscapeSize, int InitialWarrenCount, int InitialFoxCount, int Variability, bool FixedInitialLocations)
        {
            int menuOption;
            int x;
            int y;
            string viewRabbits;
            this.LandscapeSize = LandscapeSize;
            this.Variability = Variability;
            Landscape = new Location[LandscapeSize, LandscapeSize];
            CreateLandscapeAndAnimals(InitialWarrenCount, InitialFoxCount, FixedInitialLocations);
            DrawLandscape();
            do
            {
                Console.WriteLine();
                Console.WriteLine("1. Advance to next time period showing detail");
                Console.WriteLine("2. Advance to next time period hiding detail");
                Console.WriteLine("3. Inspect fox");
                Console.WriteLine("4. Inspect warren");
                Console.WriteLine("5. Exit");
                Console.WriteLine();
                Console.Write("Select option: ");
                menuOption = Convert.ToInt32(Console.ReadLine());
                if (menuOption == 1)
                {
                    TimePeriod++;
                    ShowDetail = true;
                    AdvanceTimePeriod();
                }
                if (menuOption == 2)
                {
                    TimePeriod++;
                    ShowDetail = false;
                    AdvanceTimePeriod();
                }
                if (menuOption == 3)
                {
                    x = InputCoordinate('x');
                    y = InputCoordinate('y');
                    if (Landscape[x, y].Fox != null)
                    {
                        Landscape[x, y].Fox.Inspect();
                    }
                }
                if (menuOption == 4)
                {
                    x = InputCoordinate('x');
                    y = InputCoordinate('y');
                    if (Landscape[x, y].Warren != null)
                    {
                        Landscape[x, y].Warren.Inspect();
                        Console.Write("View individual rabbits (y/n)?");
                        viewRabbits = Console.ReadLine();
                        if (viewRabbits == "y")
                        {
                            Landscape[x, y].Warren.ListRabbits();
                        }
                    }
                }
            } while (((WarrenCount > 0) || (FoxCount > 0)) && (menuOption != 5));
            Console.ReadKey();
        }



//And so an instance can be created from anywhere within a program, for example...

Simulation Sim;