Do you consider .NET to have multiple inheritance? Why?
Yes, I know that by definition is doesn’t, but I have had more than one person argue that since you can inherit more than one interface than it does. I know this is a very subjective question (hence the tag), but I was hoping to get some more views on this.
Edit I am not asking if you think it SHOULD have multiple inheritance, and I am also not saying that you inherit interface. What I was trying to get across in my question is that I have heard several people argue otherwise, and I just wanted to get some more opinions on it. I fully expected 99% of the answers to be “No”, but like I said I wanted some more input.
“Interfaces” are not inherited, rather they specify what you have to implement to properly fulfill the interface definition. Inheritance implies a possible change in behavior – parent class defines something, child class extends that.
.NET allows you to have a single class in the list of parents (right side of the colon), therefore supporting single inheritance, but you are free to implement as many interfaces as you wish.
Also I disagree with the “subjective” tag, there is absolutely nothing subjective about the design decision in .NET to allow for single inheritance.