Fundamental Concepts of Object-Oriented Programming – Lecture 1

0.0(0)
studied byStudied by 0 people
GameKnowt Play
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/20

flashcard set

Earn XP

Description and Tags

22 flashcards covering programming paradigms, the entity-attribute-value model, storage and states of objects, class vs. object, and key characteristics and advantages of object-oriented programming.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

21 Terms

1
New cards

What is a programming paradigm?

A style or approach to computer programming that dictates how solutions to problems should be formulated in a programming language.

2
New cards

Name five major programming paradigms and one language that exemplifies each.

Procedural (C), Functional (Haskell), Logical (Prolog), Object-Oriented (Java), Descriptive (HTML).

3
New cards

Which two paradigms are explicitly supported by C++?

Procedural programming and object-oriented programming.

4
New cards

Give an example of a language designed mainly for functional programming.

Haskell.

5
New cards

What trio do computer scientists use to describe real-world data?

6
New cards

In OOP, what does the ‘entity’ in the trio

The object.

7
New cards

How are objects represented in computer memory?

As sets of attribute/value pairs, occupying their own memory space allocated at creation.

8
New cards

Why are primitive types important when storing objects in memory?

Because their sizes are known in advance, allowing precise allocation for attribute values such as integers, reals, or characters.

9
New cards

What is meant by the ‘active version’ of an object?

The state in which an object changes, moves, or interacts with other objects (e.g., a car stopping when a traffic light turns red).

10
New cards

How do objects change state during a program’s execution?

Through inherent mechanisms (internal changes) or interactions with other objects (external events).

11
New cards

What ultimately limits an object’s lifecycle in an OOP program?

A succession of state changes culminating in its removal from main memory.

12
New cards

Define a class in object-oriented programming.

An abstract representation that describes the structure (attributes) and behavior (methods) common to similar objects.

13
New cards

Define an object (instance) with respect to its class.

A concrete realization of a class, such as ‘War and Peace’ for the class ‘Book’.

14
New cards

What shared characteristics allow multiple objects to be described by the same class?

Having the same structure (attributes) and the same behavior (methods).

15
New cards

According to the lecture, what does object-oriented programming (OOP) primarily consist of?

Defining and assembling software components called objects that interact with one another.

16
New cards

List the three intrinsic elements every object possesses.

Identity, internal structure (attributes), and behavior (methods).

17
New cards

Why does OOP facilitate team development of large projects?

Because it separates the ‘what’ (interface) from the ‘how’ (implementation), enabling clearer modularization.

18
New cards

What is an object’s interface?

The part of the object visible to other objects, describing how they can request its services.

19
New cards

What is an object’s implementation?

The internal details that fulfill the operations declared in its interface.

20
New cards

Name at least four fundamental concepts of the object-oriented paradigm highlighted in the lecture.

Object, messages, encapsulation, polymorphism, inheritance, and redefinition.

21
New cards

Why is OOP considered to align more naturally with real-world problems than procedural programming?

Because it models problems directly as interacting objects that reflect real-world entities, concepts, and their relationships.