6. Object-Oriented Programming

0.0(0)
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/51

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

52 Terms

1
New cards

Simula Project

Attempt to design a programming language that extended Algol60. Goal is to incorporate the notion of an object.

  • history of object-oriented programming languages begins (1960s)

2
New cards

Object

entity with certain properties that control its ability to react to events in predefined ways.

3
New cards

1970s

rise of structured programming and top-down design (year)

4
New cards

1980s

Surge in interest in object-oriented programming (year)

5
New cards

Abstraction

collection of similar operations from two different components into a new component.

6
New cards

Application framework

collection of related software resources, usually in object-oriented form, that developers modify and reuse for specific application services

7
New cards

Polymorphism

the extension of the type of data that operations can apply to.

8
New cards

Encapsulation

restricting access to internal details

9
New cards

Smalltalk

Arose from the Dynabook Project by Alan Kay at Xerox PARC in the early 1970s, later continued by Adele Goldberg and Daniel Ingalls

10
New cards

Dynabook Project

was conceived as the prototype of today’s laptop and tablet computers. 

Include a WIMP (windows, icons, mouse, pull-down menus)

11
New cards

Message

request for a service

12
New cards

Receiver

object that receives a message and performs a service by invoking a method.

13
New cards

Parameters

Data supplied with a message by the sender.

14
New cards

Mutators

Messages that result in a change of state in the receiver object

15
New cards

Message Passing

The process of sending and receiving messages

16
New cards

Interface

The set of messages that an object recognizes.

17
New cards

Class

provides a definition of the properties and behavior of a set of objects.

18
New cards

Inheritance

supports the reuse of structure and behavior

19
New cards

Collections

containers whose elements are organized in a specific manner

20
New cards

Linear

 Strings, arrays, lists, stacks, and queues

21
New cards

Unordered

Bags, sets, and dictionaries (maps in Java)

22
New cards

Sorted collections

elements have natural ordering

23
New cards

Java

Originally designed by _ and his team at Sun Microsystems for embedded systems in appliances like microwave ovens 

  • For portability and small footprint for code

  • “Write once, run anywhere”

24
New cards

James Gosling

person who designed java along with the sun microsystems

25
New cards

Class

template that defined the form of an object

26
New cards

Objects

instances of class

27
New cards

Methods

subroutines that manipulate data defined by the class

28
New cards

Interface

set of operations on objects of a given type. 

  • Glue that connects components in software systems

29
New cards

Dashed arrow

indicates that a class implements an interface

30
New cards

Solid arrow

indicates that a class extends another class and an interface extends another interface

31
New cards

C++

developed as an extension of C with simula-like classes.

32
New cards

Bjarne Stroustup

Developer of C++

33
New cards

Members

Instance variables (data members) and methods (member functions).

34
New cards

Subclasses

 referred to as derived classes

35
New cards

Superclasses

called base classes

36
New cards

Static Binding

 function called during the the compile-time of the program

  • Ex. Method overloading and operator overloading

37
New cards

Dynamic Binding

functions called during the execution of a program

38
New cards

Typless Entities

 excluded from type checking

  • whose class membership would be maintained separately from the type system

39
New cards

type constructors

Classes as _ _: making class declarations a part of the language type system. (Adopted by C++)

40
New cards

type system

Class as __ _ : all other structured types are excluded from the language. (Adopted by Smalltalk)


41
New cards

Module Mechanisms

Independent of object-oriented mechanisms

42
New cards

Namespace Mechanism (C++)

orthogonal to the class mechanism

43
New cards

Package Mechanism (Java)

allows classes to be collected into groups.

44
New cards

Parametric Polymorphism

Type parameters remain unspecified in declarations.

45
New cards

Overloading, Ad Hoc

different functions or methods share the same name but are distinguished by parameter types.

46
New cards

Subtype Polymorphism

Operations of one type can be applied to another type.

47
New cards

Inheritance

A form of subtype polymorphism that also functions as overloading on the implicit object parameter

48
New cards

Multi-Dispatch Problem

when inheritance and overloading do not account for binary methods. That may need overloading based on class membership in 2 or more parameters

49
New cards

Multimethods

Methods that can belong to more than one class

50
New cards

Stack Allocation

 the compiler is responsible for the automatic generation of constructor calls on entry into a block and destructor calls on exit,

51
New cards

Heap Allocation

explicit calls to new and delete cause constructor and destructor calls to be scheduled.

52
New cards

Garbage Collector

(Java, Smalltalk) - to return inaccessible storage to the heap.