
Explore the course structure with nine sections of 30 minutes each. Practice through exercises, source code, and a Q&A to master C# object oriented concepts like inheritance and encapsulation.
Explore object oriented programming by defining objects and their properties, using classes as custom data types, and organizing code with interlinked objects such as warrior, hammer, shield, and armor.
Define a public warrior class with height and weight fields, instantiate it with new Warrior, and set values via dot notation to manage multiple objects.
Understand fields versus properties, declare fields private and expose values publicly with get and set, using camel case for fields and Pascal case for properties.
Explore how methods perform actions on objects in C# with a public void greetings method that prints a name using string interpolation and passing objects as arguments.
Defining and using constructors to initialize a class, set properties like height, weight, and name at creation, and smoothly instantiate objects with initial values.
Organize a C# project by placing each class in its own file and mirroring folders with namespaces. Use using directives or Ctrl+dot to fix cross-file references, including sub-namespaces like characters.warriors.
Explore how properties wrap fields using get and set blocks. Learn how the value keyword relates to backing fields and why C# can auto-create them, while preferring explicit backing fields.
Explore how properties hide fields and control access with get and set accessors, enabling read-only, write-only, or read-write configurations, including private set for constructor-based assignments.
Apply property get and set accessors to validate incoming values before assignment. Guard fields like age between 18 and 45, with console messages and interpolated strings for clear feedback.
Learn defensive programming by using exceptions to defend against invalid inputs, throw and catch an argument out of range exception, and implement try-catch blocks for graceful error handling.
Learn how to use the this keyword to access class members, distinguish between fields and the constructor argument, and resolve name conflicts in constructors and methods.
Bring together object oriented programming concepts in c# by building a sword for a warrior, with a private damage field, a public property with a private setter, and a constructor.
Use multiple constructors to initialize objects with different defaults or arguments. The example shows a default constructor and overloaded constructors setting height, weight, and name for a warrior.
Chain constructors to reuse defaults, reducing duplication by calling one constructor from another with this(...). Start from default height, weight, age, and name, then pass values through the three constructors.
Discover how to automatically generate constructors in Visual Studio by selecting properties and pressing control enter, including the this keyword, and explore constructor creation from subsets of properties.
Explain public and private access modifiers, showing how public grants unrestricted access to class members while private restricts it to the class, with examples like name and height.
Explore internal, protected, and protected internal access modifiers in C#, and learn how internal restricts access to a project, while protected allows derived classes, and protected internal blends for inheritance.
The static keyword makes class-level fields usable without an instance; static fields are shared across all instances and can act as an id counter, incrementing with each creation.
Explore the difference between const and read-only fields in C#, and see how per-instance IDs use a read-only field set in the constructor, while const provides static defaults.
Explore static methods in C#, showing why they cannot access instance members or this, how to use them as utilities, and when to pass an object to access non-static data.
Explore static classes in C#, how they contain only static members, cannot be instantiated, and resemble a singleton, as shown by the tools class and console.
Explore how enumerations limit input options to good guy or bad guy, and drive health values in a C# warrior class through constructor logic and namespace usage.
This course will lay the foundations of Object Oriented Programming (OOP) in your mind, allowing you to progress to more systematic and cleaner Programming methods.
The course is aimed at students who have at least some coding experience, preferably with C# (but Java or any other similar language is also acceptable).
There are so many things that you will learn in this course, some of the most noted ones are:
Each of these topics will be looked upon in great detail, and each of them are accompanied by a variety of Exercises. Practice makes perfect.
There are tons and tons of tutorials on Youtube, so why would you have to pay for this course?
The answer is very simple, in this course you will get every single lecture systemized in such way, that it ensures smooth transition between the previous and the following topic. Guaranteeing great learning experience.
There are no stones left unturned, everything is explained in great detail (but not too much, that would be boring :) )
The video lectures in the course are produced with the highest possible audio and video quality. No static noises to disturb you while you watch the videos, no blurry images, everything is crystal clear with crisp audio!