Abstract Classes

Recall our definition of the Shape class. One remark we made when defining its two virtual properties was the fact we had to provide default implementations that didn’t really have much meaning:


Although 0.0 might seem like a good default value, wouldn’t it be much better not to have to specify a value at all? Moreover, does it even mean to create an instance of the Shape object? Isn’t a shape something very abstract that needs to be concretized to help someone draw a mental picture? Although Square and Circle are very concrete, the concept of a Shape definitely isn’t. The following use of Shape looks weird for that very reason: ...

Get C# 4.0 Unleashed now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.