##### ###### ##### ### # # ### # # ###### ## ## ## ## ## ## ## # # # # # ## ##### #### ##### # # # # # # # #### ## # ## ## ## ## # # # # # ## ## # ###### ## ### # ### # ######
##### ###### ##### ### # # ### # # ###### ## ## ## ## ## ## ## # # # # # ## ##### #### ##### # # # # # # # #### ## # ## ## ## ## # # # # # ## ## # ###### ## ### # ### # ######
##### ###### ##### ### # # ### # # ###### ## ## ## ## ## ## ## # # # # # ## ##### #### ##### # # # # # # # #### ## # ## ## ## ## # # # # # ## ## # ###### ## ### # ### # ######
Object-oriented programming with classes
Object-oriented programming concepts
What classes represent
Class declaration syntax
Initialize new instances
Functions that belong to instances
Reference the current instance
Declare properties directly
Hide internal data with #
Internal helper methods
Computed properties with get
Validate when setting properties
Methods on the class itself
Shared data on the class
Create subclasses
Call parent class methods
Extend parent behavior
Check instance types
Replace inherited methods
Same interface, different behavior
Alternative to class hierarchies
Share behavior across classes
Define interfaces for subclasses
Alternative to classes
Classes vs other patterns
Patterns you'll encounter
Review of classes and OOP