About this Course
  • What You are Going to Learn
  • Who is Your Instructor
  • Source Code
  • Exercises
  • Asking Questions
  • Before You Get Started
Classes
  • Introduction to Classes
  • Constructors
  • Object Initializers
  • Methods
  • Fields
  • Access Modifiers
  • Properties
  • Indexers
  • Summary
  • Exercises
Association between Classes
  • Class Coupling
  • Inheritance
  • Composition
  • Favour Composition over Inheritance
  • Summary
Inheritance - Second Pillar of OOP
  • Access Modifiers
  • Constructors and Inheritance
  • Upcasting and Downcasting
  • Boxing and Unboxing
  • Summary
  • Exercises
Polymorphism: Third Pillar of OOP
  • Method Overriding
  • Abstract Classes and Members
  • Sealed Classes and Members
  • Summary
  • Exercises
Interfaces
  • What is an Interface?
  • Interfaces and Testability
  • Interfaces and Extensibility
  • Interfaces are NOT for Multiple Inheritance
  • Interfaces and Polymorphism
  • Summary
  • Exercises
What's Next?
  • Final Words
  • My Other Courses
  • Get My Other Courses with a Discount
Bonus: Students' Code Reviews
  • StopWatch Exercise
  • Stack Exercise
  • Workflow Engine Exercise