C# is a single inheritance language, meaning a class can only have one direct parent. Often single inheritance can be a limiting factor or obstacle when designing an application's class hierarchy. This course explores how C# interfaces mimick multiple inheritance, enabling a class to take on the properties and methods of other unrelated classes.
This course is intended for anyone who wants to take their C# object-oriented programming to the next level..
To get the most out of this course, you should have a basic understanding of C# classes. If you are unfamiliar with C# classes, please take our Introduction to object orientation and C# Class course first.
The source code used in this course is available at https://github.com/cloudacademy/csharp-interfaces.
Hi and welcome to this course on C# Interfaces. In Object-oriented programming, polymorphism is the idea of inheritance related classes being interchangeable. However, sometimes we need to use an object not part of the class lineage. Interfaces allow us to use a class’ related by functionality instead of inheritance. If inheritance is polymorphism by nepotism, so a case of, it’s not what you know, but who you know. Then interfaces are polymorphism by meritocracy, so not who you know, but what you can do.
This course's main theme is how interfaces provide extra flexibility regarding object inheritance, so knowledge of object-oriented concepts is essential. If you are unfamiliar with C# classes, please take the Introduction to object orientation and C# classes course first. The source code used in this course is available at https://github.com/cloudacademy/csharp-interfaces.
My name is Hallam Webber, and I’ll be your instructor for this course. When I created this course, all information was current. If you have any feedback, positive or negative, or if you notice anything that needs to be updated or corrected, please reach out to us at firstname.lastname@example.org.
Let’s start with a conceptual overview of interfaces before looking at using them in code.
Hallam is a software architect with over 20 years experience across a wide range of industries. He began his software career as a Delphi/Interbase disciple but changed his allegiance to Microsoft with its deep and broad ecosystem. While Hallam has designed and crafted custom software utilizing web, mobile and desktop technologies, good quality reliable data is the key to a successful solution. The challenge of quickly turning data into useful information for digestion by humans and machines has led Hallam to specialize in database design and process automation. Showing customers how leverage new technology to change and improve their business processes is one of the key drivers keeping Hallam coming back to the keyboard.