Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Point of initializing a class?

Tags:

c#

object

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!

like image 585
DutchLearner Avatar asked Jul 03 '12 14:07

DutchLearner


1 Answers

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.

like image 158
BugFinder Avatar answered Oct 09 '22 00:10

BugFinder