Introduction to Object-oriented programming

Ace your homework & exams now with Quizwiz!

Functional programming

as opposed to imperative or procedural programming, is a pure functional approach to problem solving

the definition of the "thing"

class

What form is functional programming

is a form of declarative programming

Object-Oriented Programming (OOP)

is a programming language model using objects that contain data as the main focus, with actions and processes directly associated with the data

Abstraction, or "Information Hiding

is a term associated with Encapsulation

the actual "thing"

object

Object centered approach that bundles the procedures with the data, making it possible to define more complex and scalable projects with less effort and easier ways to make modifications

object oriented programming

Encapsulation

one of the three central principles (along with Inheritance and Polymorphism) of Object Oriented Programming

A programming entity that encapsulates data and related methods

Object

Abstraction/Information Hiding

- Inner working are hidden from the user - only the interface to the object is available

Advantage of object-oriented design

- better overall compare to procedural or functional design - easier to develop large projects (with objects interfacing with each other without knowing or needing to know how each one works inside - Easier to modify projects - Changes to one object need not affect another

a programmer hides all but the relevant data about an object in order to reduce complexity and increase efficiency

Abstraction

refers to the fact that the user of the data is not privy to how it is put together or how all the inner parts work but only understand how to interface with the object enough to use it effectively

Abstraction/Information Hiding

Intelligence exhibited by machines or software.

Artificial Intelligence (AI)

What mainstream programming languages support procedural programming?

C++, Java, and Python

Which mainstream programming languages are considered imperative languages

C++, Jave, and Python

A class in object-oriented programming that inherits the characteristics of a parent class

Child Class

The definition of an object in OOP, describing the type of data owned by the object, as well as methods that act on that data

Class

A micro-processor architecture wherein the machine instruction set is designated as complex. The antonym to complex is reduced.

Complex Instruction Set Computing (CISC)

In object-oriented programming, this is the process of combining simpler data types into more complex data types

Composition (what is is compose of)

was the first widely-installed operating system for personal computers. It is an acronym for several computer operating systems that are operated by using the command line

DOS (Disk Operating System)

One of the three primary aspects of object oriented programming that incorporates related data items and methods into a class definition, including instance variables, constructors, accessor and modifier methods

Encapsulation

an object is defined as a single entity or package with interworking parts including data or information and internal processes that deal with the data

Encapsulation

Languages that fit this description include Scheme, Haskell, LISP, Racket, and F#

Functional Programming

is a pure functional approach to problem solving. is a form of declarative programming

Functional Programming

Through encapsulation data can be protected within an object definition.

Has-a relationship

is a paradigm (pattern/model) in programming that is often referred to as procedural, where a developer writes code that describes in exacting detail that steps that the computer must take to accomplish the goal

Imperative Programming

One of the three pillars of object-oriented programming that allows for classes to be defined based on previously defined and developed classes, inheriting all of the characteristics of the inherited class, and then expanding on those features

Inheritance

The part of the computer architecture related to programming, including the native data types, instructions, registers, addressing modes, memory architecture, interrupt and exception handling, and external I/O.

Instruction Set Architecture (ISA)

The concept of inheritance in OOP, where one class is derived from another class

Is-a Relationship

The defining component of Linux is the Linux kernel, an operating system kernel first released on 5 October 1991 by Linus Torvalds. Due to the fact that is open source software, many versions of Linux have evolved over the years, including Ubuntu, Gentoo, PacMan, and Red Hat.

Linux

is a UNIX-like computer operating system assembled under the model of free and open-source software development and distribution.

Linux

dominated the IBM PC compatible market between 1981 and 1995 until Windows came along and emerged as the dominant OS.

MS-DOS

is a series of graphical user interface-based operating systems developed by Apple Inc. for their Macintosh line of computer systems, the latest version of which is OS X 10.11, referred to as El Capitan.

Mac OS

Focuses on objects that are defined in classes using three key features

Object oriented programming

is a programming language model organized around objects rather than "actions" and data rather than logic

Object-Oriented Programming (OOP)

is software that manages computer hardware and software resources and provides common services for computer programs, like DOS, Windows, UNIX, Linux, and MAC OS

Operating System

The polymorphic feature of object-oriented programming where constructors and methods are named the same but operate on different input parameters in order to perform that same task

Overloading Methods

The polymorphic feature of object-oriented programming where methods inherited from parent classes, such as the toString method from the Object class, are redefined and customized to better fit the purpose of the current class

Overriding Methods

refers to how a parent object can reference any of its child objects, or any descendant several levels of inheritance down the way

Polymorphic Objects

A micro-processor architecture that has few instructions.

Reduced Instruction Set Computing (RISC)

What languages support functional programming

Scheme, Haskell, LISP, Racket, and F#

Object

This is an instance of a Class created during program execution that encapsulates data and related actions or processes, often called methods.

Class

This is the definition of an Object, describing the type of data owned by the object, as well as methods that act on that data.

is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, developed in the 1970s at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and others.

Unix (trademarked as UNIX)

Windows 1.0 was released on November 20, 1985, as the first version of the Microsoft Windows (Links to an external site.)Links to an external site. line, the first of many since then, culminating with the current version, Windows 10

Windows OS

Imperative, or Procedural, programming

a paradigm in which a developer writes code that describes in exacting detail the steps that the computer must take to accomplish the goal

Through the process of Abstraction

a programmer hides all but the relevant data about and interaction with an object, in order to reduce complexity and increase efficiency, especially when improvements or modifications need to be made from time to time

What are the three key features Object oriented programming use?

abstraction (Encapsulation), inheritance (composition), polymorphism

Encapsulation

all aspect of the object are "bundled" together into one entity, or package, including data and processes that act on the data

Encapsulation incorporates

related data items and processes into a class definition, including instance variables, constructors, accessor and modifier (mutator) methods

Example of object

the meal

Example of class

the recipe for the meal


Related study sets

Chapter 9: Energy Balance and Healthy Body Weight

View Set

Strategic Management (Chapters 1-4)

View Set

Chapters 14: Pricing concepts for capturing value

View Set

Chapter 1- A Functionalist Approach to Language

View Set