Yes, you can say that C # is a fully object-oriented language. Think of it this way, it not only supports the four OOP criteria, but also requires that essentially all of your constructs be encapsulated in objects (enumerations or value types that are not pure OOP would not affect me as a particularly important exception), That is, C # does not allow you to develop outside the OOP methodology in any meaningful way. Where people sometimes say that the language is not really OOP, where object orientation is optional - for example, C ++, where you can develop in pure C if you want.
One note: Stephen indicates that he does not support multiple inheritance. However, this does not disqualify him: OOP does not depend on the inclusion of this function (and experience has taught us that this is, at best, a mixed blessing). It would be like a car is not a “car” if it does not have a backup camera, as some cars have them.
Mark brittingham
source share