Point of initializing a class?

c#, object

Solution

By the sounds of it, you havent quite got what the book explaned:

The following to the eye reads make 2 circles sized 3 and 4, and take a copy of the first and make it 5.. except when you print it out, thats not how it worked.

class Program
{
    static void Main(string[] args)
    {

        circle a = new circle(3);
        circle b = new circle(4);
        circle d = a;
        d.Diameter = 5;

        Console.WriteLine("a is {0}", a.Diameter); // shows 5
        Console.WriteLine("b is {0}", b.Diameter); // shows 4
        Console.WriteLine("d is {0}", d.Diameter); // shows 5
    }
}

class circle
{
    public int Diameter;
    public circle(int d)
    {
        Diameter = d;
    }
}

because you didnt make a new circle for d, actually d is an alias for a, so, just as someones name is Peter, he can also be called Pete.

Problem

I'm reading a book about C# for beginners and I'm at the part "Understanding Values and References", but there is something I don't understand. What I'm seeing is that the books tries to explain this to me (and I've seen this happening in a couple of tutorial video's on Youtube as well) that the class is being used to create....an object(??) of the class. I have read the whole previous chapter where that happened too and I didn't quite understand it, assuming that it would become more clear in the following chapter. It did not become more clear, so I don't think it's a good idea to continue until I understand the concept of the stuff I explained before. The following part is part of the book: Remember that to initialize a reference variable such as a class, you can create a new instance of the class and assign the reference variable to the new object, like this: ``` Circle c = new Circle(42); Circle copy = new Circle(99); //Circle refc = c; ... copy = c; ``` What could I do with the code in this example and why is it handy? Examples + explanation would be more than welcome. Thanks in advance!

Original source