Proof of item:
Become a Better C# Developer
Heard about object-oriented programming, but not sure what it is?
Simply put, object-oriented programming (OOP) is a popular style of programming.
It comes up often in technical interviews, and it’s an essential skill for every developer.
If you’re looking for a course that teaches you OOP from the ground up without any jargons or fluff, this course is for you.
A perfect mix of theory and practice, packed with real-world examples, exercises and step-by-step solutions.
By the end of this course, you’ll be able to…
- Write object-oriented C# code with confidence
- Solidify your understanding of C#
- Prepare for C# coding interviews
- Write clean, maintainable code
What You’l Learn…
- How to work with classes, constructors, fields, properties, methods and indexers
- How to use encapsulation to reduce the impact of changes
- How to improve the robustness of your code
- How to re-use code using inheritance and composition
- Why composition is better than inheritance
- How to build extensible applications using polymorphism
- How to develop loosely-coupled, extensible and testable applications using interfaces
- And much, much more!
Who is this course for?
- Anyone who wants to take their C# skills to the next level
- Anyone who wants to learn and understand object-oriented programming principles
- Anyone preparing for C# coding interviews
Prerequisites
To take this course, you should have at least three months of experience programming in C#. At a minimum, you need to know all the topics I’ve covered in the first part of my Ultimate C# Series. You don’t need any familiarity with object-oriented programming.
Course Curriculum
Introduction (3m)
StartAbout this Course (2:42)
StartSource Code
StartExercises
Classes (1h50m)
PreviewIntroduction to Classes (13:56)
PreviewConstructors (22:54)
PreviewObject Initializers (2:20)
PreviewMethods (23:59)
PreviewFields (9:21)
StartAccess Modifiers (10:48)
StartProperties (16:19)
StartIndexers (9:30)
StartSummary
StartExercises
Association Between Classes (25m)
StartClass Coupling (3:45)
StartInheritance (7:54)
StartComposition (7:27)
StartComposition over Inheritance (8:48)
StartSummary
Inheritance: Second Pillar of OOP (50m)
StartAccess Modifiers (22:37)
StartConstructors and Inheritance (9:42)
StartUpcasting and Downcasting (17:45)
StartBoxing and Unboxing (7:09)
StartSummary
StartExercises
Polymorphism: Third Pillar of OOP (35m)
StartMethod Overriding (17:15)
StartAbstract Classes and Members (11:58)
StartSealed Classes and Members (2:38)
StartSummary
StartExercises
Interfaces (1h5m)
StartWhat is an Interface? (4:35)
StartInterfaces and Testability (25:12)
StartInterfaces and Extensibility (18:15)
StartInterfaces are NOT for Multiple Inheritance (4:26)
StartInterfaces and Polymorphism (11:47)
StartSummary
StartExercises
Students’ Code Reviews (35m)
StartStopWatch Exercise (12:21)
StartStack Exercise (7:24)
StartWorkflowEngine Exercise (12:36)
WONDERFUL | Mosh Hamedani – The Ultimate C Series Part 2