Object-Oriented Programming - CS 202

Explains classes, objects, encapsulation, inheritance, polymorphism, interfaces, composition, and object-oriented design.

Study Tools

All

Study guides

8

7 Composition and Object Collaboration

A practical guide to using composition, collaboration, and delegation in object-oriented design, including how to choose between composition and inheritance.
Study guide · Updated

4 Inheritance

A practical guide to modeling inheritance hierarchies, reusing and overriding behavior, applying polymorphism, and choosing composition when it produces a safer design.
Study guide · Updated

6 Interfaces and Abstract Types

Learn how interfaces and abstract classes define contracts, support polymorphism, invert dependencies, and enable replaceable implementations in object-oriented design.
Study guide · Updated

8 Object-Oriented Design

A practical guide to designing object-oriented systems by assigning responsibilities, controlling dependencies, applying abstractions thoughtfully, and balancing flexibility with simplicity.
Study guide · Updated

5 Polymorphism

A practical guide to using polymorphism in C#, including dynamic dispatch, type relationships, substitutability, abstraction-based design, and composition.
Study guide · Updated

2 Classes and Objects

A clear introduction to how object-oriented programs use classes, objects, state, methods, initialization, identity, and lifecycles to model systems.
Study guide · Updated

3 Encapsulation and Abstraction

A practical guide to controlling object state, hiding implementation details, preserving invariants, and designing public interfaces that are safe and predictable to use.
Study guide · Updated

1 Object-Oriented Programming Foundations

A progressive guide to the core concepts of object-oriented programming and the design choices that connect classes, objects, abstractions, and collaborating components.
Study guide · Updated

Quizzes

8

6 Interfaces and Abstract Types

A 14-question assessment on interfaces, abstract classes, contracts, dependency inversion, substitutability, and effective abstraction design. The questions progress from core distinctions to applied design reasoning.
Quiz · Updated

3 Encapsulation and Abstraction

A medium-difficulty quiz on encapsulation, abstraction, information hiding, access control, validation, properties, invariants, and reliable public interface design.
Quiz · Updated

4 Inheritance

A 14-question quiz on object-oriented inheritance, including class relationships, specialization, overriding, polymorphism, hierarchy design, and composition.
Quiz · Updated

7 Composition and Object Collaboration

A medium-difficulty quiz on composition, object collaboration, delegation, interfaces, and choosing between composition and inheritance in object-oriented design.
Quiz · Updated

5 Polymorphism

A medium-difficulty quiz on polymorphism, dynamic dispatch, type relationships, substitutability, abstractions, interfaces, and composition in object-oriented design.
Quiz · Updated

8 Object-Oriented Design

A 14-question quiz on object-oriented design, covering core concepts, responsibility assignment, cohesion and coupling, SOLID principles, design trade-offs, and practical design decisions. Questions progress from an introductory check to medium-application questions and a final advanced design analysis.
Quiz · Updated

1 Object-Oriented Programming Foundations

A 14-question quiz on object-oriented programming foundations, covering classes and objects, state and behavior, encapsulation, inheritance, polymorphism, interfaces, composition, and design principles. Questions progress from introductory applications to more integrated design reasoning.
Quiz · Updated

2 Classes and Objects

A medium-difficulty quiz on classes, objects, fields, methods, constructors, identity, references, encapsulation, and object lifecycles. Questions progress from foundational application to more complex reasoning.
Quiz · Updated

Flashcards

8

7 Composition and Object Collaboration

A focused set of flashcards on composition, object collaboration, delegation, and choosing between composition and inheritance in object-oriented design.
Flashcards · Updated

3 Encapsulation and Abstraction

Learn how encapsulation, abstraction, access control, validation, properties, and reliable public interfaces protect object state and make software easier to use and change.
Flashcards · Updated

6 Interfaces and Abstract Types

A focused review of interfaces, abstract classes, contracts, polymorphism, dependency inversion, substitutability, and effective abstraction design.
Flashcards · Updated

5 Polymorphism

Study the core ideas of polymorphism, including dynamic dispatch, type relationships, substitutability, abstraction-based design, and composition in C#.
Flashcards · Updated

2 Classes and Objects

A focused set of flashcards covering classes, objects, state, methods, initialization, identity, references, encapsulation, and object lifecycles in object-oriented programming.
Flashcards · Updated

1 Object-Oriented Programming Foundations

A focused introduction to object-oriented programming concepts, relationships, and design principles, including classes, encapsulation, inheritance, polymorphism, interfaces, composition, and maintainable collaboration.
Flashcards · Updated

4 Inheritance

A focused flashcard activity covering inheritance, specialization, overriding, polymorphism, hierarchy design, and composition in object-oriented programming.
Flashcards · Updated

8 Object-Oriented Design

A focused set of flashcards on object-oriented concepts, responsibility assignment, cohesion, coupling, SOLID principles, and practical design trade-offs.
Flashcards · Updated