Introduction to Object-oriented programming
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