Whenever you're ready, walk me through how you'd approach this.
What is an object-oriented language, and what is your experience with such languages? Define the main principles of object-oriented programming and describe how you have applied them in code, naming specific languages, types, or features where useful. Keep the answer focused on language behavior and practical design rather than a particular project.