📄️ 5.1 - Introduction to OOP
Learn the fundamental concepts of Object-Oriented Programming (OOP) in C#, including encapsulation, abstraction, inheritance, and polymorphism, and understand how these principles form the foundation of Unity's component-based architecture.
📄️ 5.2 - Classes and Objects
Learn how to define classes and create objects in C#, including fields, methods, and the 'this' keyword, with practical examples relevant to Unity game development.
📄️ 5.3 - Value Types vs. Reference Types
Understand the crucial differences between value types and reference types in C#, including memory allocation, assignment behavior, and performance implications, with practical examples relevant to Unity game development.
📄️ 5.4 - Constructors
Learn how to create and use constructors in C# to properly initialize objects, including default constructors, parameterized constructors, constructor overloading, and constructor chaining, with practical examples for Unity game development.
📄️ 5.5 - Access Modifiers
Learn how to control the visibility and accessibility of your classes and their members using C# access modifiers, including public, private, protected, internal, and protected internal, with practical examples for Unity game development.
📄️ 5.6 - Properties
Learn how to use C# properties to implement encapsulation, including traditional getter/setter methods, auto-implemented properties, read-only and write-only properties, and init-only setters, with practical examples for Unity game development.
📄️ 5.7 - Static Members
Learn how to use static fields, properties, methods, and classes in C#, including when to use static members, their benefits and limitations, and practical examples for Unity game development.
📄️ 5.8 -Inheritance
Learn how to use inheritance in C# to create hierarchical relationships between classes, including base and derived classes, method overriding, and practical examples for Unity game development.
📄️ 5.9 - Polymorphism
Learn how to use polymorphism in C# to create flexible and extensible code, including method overriding, virtual methods, abstract methods, and runtime type identification, with practical examples for Unity game development.
📄️ 5.10 - Abstract Classes and Methods
Learn how to use abstract classes and methods in C# to create robust class hierarchies, enforce implementation requirements, and provide common functionality, with practical examples for Unity game development.
📄️ 5.11 - Sealed Classes and Methods
Learn how to use sealed classes and methods in C# to prevent inheritance and method overriding, improve security and performance, and design more robust class hierarchies for Unity game development.
📄️ 5.12 - Interfaces
Learn how to use interfaces in C# to define contracts, enable multiple inheritance, and create flexible, modular code for Unity game development.
📄️ 5.13 - Structs
Learn how to use structs in C# to create lightweight value types for efficient data storage and manipulation in Unity game development.
📄️ 5.14 - Records
Learn how to use records in C# to create immutable reference types with built-in value equality, positional syntax, and other features that simplify working with data-centric classes in Unity game development.
📄️ 5.15 - OOP Exercise
Apply your object-oriented programming knowledge by building a simple RPG character system that demonstrates classes, inheritance, polymorphism, interfaces, and other OOP concepts in Unity.