Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
C# discussion: Redundant class names?
Message
De
29/07/2008 11:24:01
 
 
Information générale
Forum:
ASP.NET
Catégorie:
Code, syntaxe and commandes
Divers
Thread ID:
01334856
Message ID:
01334906
Vues:
9
>>>>>This is the first in what I think will be a series of discussions relating to C#. I am immersed in learning it and know others are as well. Or already have, or are thinking about it. Generics and interfaces are a couple of topics I have in mind after I get a question that has been bugging me for a while out of my system. The answer is probably blindingly obvious to someone who already knows C#.
>>>>>
>>>>>Here is my question. When you instantiate an object, you do it like this:
>>>>>
>>>>>Circle cir = New Circle();
>>>>>
>>>>>Why does the class name occur twice? Why isn't the Circle() on the right sufficient to define the type of object being created?
>>>>>
>>>>>i.e. Why isn't it? ---
>>>>>
>>>>>cir = New Circle();
>>>>
>>>>Just a language design choice. If allowed it would be the equivalent of ' var cir = new Circle(); '
>>>>Regards,
>>>>Viv
>>>
>>>But why would they make such a design choice? It truly seems redundant to me, just extra typing.
>>>
>>>Tautology tt = New Tautology();
>>
>>Maybe the syntax was just for consistency. In some cases you might want to treat the object as a parent class or asan interface that it implements. e.g:
>>
>>ParentClass p = new ChildClass();
>
>I don't understand that at all -- instantiating a parent object based on a derived child class?

It's the other way around. You're instantiating the child class but it only exposes the properties and methods of the parent class.
Regards,
Viv
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform