OOP Concepts Part 1
OOP Concepts Part 2
Miscellaneous
OO Design
OO Design
100

A blueprint for a group of similar entities.

What is a class?

100

A Circle's relationship to Shape is an example of this.

What is inheritance?

100

+ - # are symbols for this

What are visibility modifiers?

100

This is about reuse and making sure you're not solving a problem that someone else has figured out (and documented) in the past.

What are Design Patterns?

    

100

Design to Interfaces

Favor aggregation over inheritance

Find what varies and encapsulate it

What are OOD principles?

200

An entity with responsibilities.

What is an object?

200

The ability to refer to different derivations of a class in the same way but getting the behavior appropriate to the  derived class.

What is Polymorphism?

200

The one thing that never changes about requirements.

What is Change?

200

This shields your objects from implementation changes to other objects in your software by handing off responsibility.

What is Delegation?

200

This pattern lets classes work together that could not otherwise because of incompatible interfaces.

What is the Adapter Pattern?

300

A class in which some methods have no implementation.

What is an abstract class?

300

Keeping parts of the code separate (sometimes hidden) from other parts. With this separation, the parts that can change often are easier to change.

What is Encapsulation?

300

This is a pictorial representation of the relationships between objects in a design.

What is a Class Diagram?

300

Design patterns are based on the this idea. 

What is of Loose coupling and high cohesion?

300

This pattern defines a family of algorithms, encapsulate each one, and make. them interchangeable.

What is the Strategy Pattern?

400

An abstract type that is used to specify a behavior that classes must implement.

What is an interface?

400

A Book's relationship to Library is an example of this.

What is Aggregation?

400

A module should have well-defined responsibilities.

What is Cohesion?

400

This pattern defines a high-level interface that makes a subsystem easier to use.

What is the Facade Pattern?

400

This pattern decouples an abstraction from its implementation so that the two can vary independently.

What is the Bridge Pattern?

500

A class which has implementation of all of its inherited members either from interface or abstract class.

What is a concrete class?
500

A Person reads a Book is an example of this.

What is Dependency?

500

The degree of interdependence between software modules.

What is Coupling?

500

This pattern delegates the responsibility of object instantiation to another one via composition.

What is the Abstract Factory Pattern?

500

This pattern uses inheritance to handle the desired object instantiation. 

What is the Factory Method Pattern?