01 - Object-Oriented Thinking Flashcards

(24 cards)

1
Q

What is the focus of a procedural program?

A

Method/functions calling each other

Procedural programming emphasizes the use of procedures or routines to operate on data.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

In the 1950s and 1960s, what was the primary focus of software systems?

A

Algorithms

The focus was on efficiency and solving small problems using loops, conditionals, and functions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What was the focus of software systems in the 1970s and 1980s?

A

Data-oriented models

This approach emphasized decomposition based on data organization and flow.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

In the 1990s and 2000s, what was the primary focus of software systems?

A

Objects

Object-oriented models emphasized decomposition based on objects/classes and their relationships.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What does Object-Oriented Programming (OOP) aim to handle?

A

Complexity by decomposition

OOP breaks problems into smaller, manageable parts and designs objects that contain data and related behaviors.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is a model in software development?

A

An abstraction of reality

Models can be precise or ignore irrelevant aspects while retaining relevant concepts.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are classes in object-oriented programming?

A

Blueprint or instructions on how to create an object

For example, class Human{ } defines how to create a Human object.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is an object in programming?

A

An instance of a class created in your software application

For example, hmn = new Human creates an instance of the Human class.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is a constructor in object-oriented programming?

A

Creates an object with initial attributes

Similar to __init__ in Python.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are methods in the context of objects?

A

Implement behaviors relevant to the purpose of the system

Some methods describe real-world behaviors, while others describe system behaviors.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are the categories of objects in object-oriented programming?

A
  • Entity Objects
  • Concrete Objects
  • Conceptual Objects
  • Event and State-Change Objects
  • Container Objects
  • Interface Objects
  • Control Objects

Each category serves a different purpose in modeling and managing data.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What do entity objects model?

A

Real things

Examples include people, buildings, and equipment.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are container objects used for?

A

Data structure to store entities

Examples include a forest, a classroom, or a Stack.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What do interface objects handle?

A

Communication with the outside world

Examples include handling interactions with users or external systems like files and printers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is the role of control objects?

A

Organize computations (main program)

They manage the flow of the program and coordinate between other objects.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What are accessors in object-oriented programming?

A

Accesses or calculates a value based on the data stored in the object

They are also known as getters.

17
Q

What are mutators in object-oriented programming?

A

Changes the state of the object

They do not return anything and are also known as setters.

18
Q

What is the first step in the software development process?

A

Requirements

This involves figuring out what the software needs to do and documenting it.

19
Q

What is the second step in the software development process?

A

Design

This step involves devising a plan to meet the requirements.

20
Q

What is the third step in the software development process?

A

Implementation

This step involves writing the code according to the design plan.

21
Q

What is the fourth step in the software development process?

A

System Testing & Verification

This step shows that the system meets the requirements.

22
Q

What is the final step in the software development process?

A

Maintenance

This includes installing, delivering, updating, and upgrading the software.

23
Q

What do classes correspond to in programming?

A

Types

Classes define the fields and operations for objects of the same type.

24
Q

What does design in object-oriented programming begin with?

A

Modelling, not coding

Design extracts classes, objects, and relationships from the requirements.