0% found this document useful (0 votes)
50 views

Introducing Object-Oriented Programming (OOP)

This document introduces object-oriented programming concepts. It discusses the three pillars of OOP: encapsulation, inheritance, and polymorphism. An object is defined as a unique programming entity with methods, attributes, and ability to react to events. Classes are templates that are used to create objects. The document also discusses procedural languages, object-oriented languages, APIs, and provides examples of different programming language types.

Uploaded by

Junrie Banz
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
50 views

Introducing Object-Oriented Programming (OOP)

This document introduces object-oriented programming concepts. It discusses the three pillars of OOP: encapsulation, inheritance, and polymorphism. An object is defined as a unique programming entity with methods, attributes, and ability to react to events. Classes are templates that are used to create objects. The document also discusses procedural languages, object-oriented languages, APIs, and provides examples of different programming language types.

Uploaded by

Junrie Banz
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 21

Introducing Object-Oriented

Programming (OOP)
Goals

 By the end of this lecture, you should …


 Understand the three pillars of Object-Oriented
Programming: Inheritance, Encapsulation and
Polymorphism.
 Understand what an object is.
 Understand object attributes, methods and events.
 Understand how programmers use APIs.
Programming Languages

 Programming languages allow programmers to code


software.
 The three major families of languages are:
 Machine languages
 Assembly languages
 High-Level languages
Machine Languages

 Comprised of 1s and 0s
 The “native” language of a computer
 Difficult to program – one misplaced 1 or 0 will cause
the program to fail.
 Example of code:
1110100010101
111010101110
10111010110100
10100011110111
Assembly Languages

 Assembly languages are a step


towards easier programming.
 Assembly languages are comprised
of a set of elemental commands
which are tied to a specific
processor.
 Assembly language code needs to be
translated to machine language
before the computer processes it.
 Example:
ADD 1001010, 1011010
High-Level Languages

 High-level languages represent a giant leap towards


easier programming.
 The syntax of HL languages is similar to English.
 Historically, we divide HL languages into two groups:
 Procedural languages
 Object-Oriented languages (OOP)
Procedural Languages

 Early high-level languages are typically called


procedural languages.
 Procedural languages are characterized by sequential
sets of linear commands. The focus of such languages is
on structure.
 Examples include C, COBOL, Fortran, LISP, Perl, HTML,
VBScript
Object-Oriented Languages

 Most object-oriented languages are high-level


languages.
 The focus of OOP languages is not on structure, but on
modeling data.
 Programmers code using “blueprints” of data models
called classes.
 Examples of OOP languages include C++, Visual
Basic.NET and Java.
Object Oriented Programming

 Object – Unique programming entity that has methods,


has attributes and can react to events.
 Method – Things which an object can do; the “verbs” of
objects. In code, usually can be identified by an
“action” word -- Hide, Show
Object Oriented Programming

 Attribute – Things which describe an object; the


“adjectives” of objects. In code, usually can be
identified by a “descriptive” word – Enabled, BackColor
 Events – Forces external to an object to which that
object can react. In code, usually attached to an event
procedure
Object Oriented Programming

 Class – Provides a way to create new objects based on a


“meta-definition” of an object (Example: The
automobile class)
 Constructors – Special methods used to create new
instances of a class (Example: A Honda Civic is an
instance of the automobile class.)
OOP - Encapsulation

 Incorporation into a class of


data & operations in one
package
 Data can only be accessed
through that package
 “Information Hiding”
OOP - Inheritance

 Allows programmers to create new classes based on an


existing class
 Methods and attributes from the parent class are
inherited by the newly-created class
 New methods and attributes can be created in the new
class, but don’t affect the parent class’s definition
OOP - Polymorphism

 Creating methods which


describe the way to do some
general function (Example:
The “drive” method in the
automobile class)
 Polymorphic methods can
adapt to specific types of
objects.
Classes and Objects

 A class is a data type that allows


programmers to create objects. A class
provides a definition for an object,
describing an object’s attributes (data)
and methods (operations).
 An object is an instance of a class. With
one class, you can have as many objects
as required.
 This is analogous to a variable and a data
type, the class is the data type and the
object is the variable.
Is JavaScript an OOP
language?
 Well, not really …
 We call JavaScript an "object-inspired" language
 It uses objects by way of supporting inheritance and
encapsulation, but it doesn't really provide support for
polymorphism.
“Object-Oriented” JavaScript

 More like “Object-Inspired” JavaScript


 We can create new, custom, re-usable objects in
JavaScript that include their own methods, properties
and events.
 Consider the following problem: “I want to record the
color, brand, horsepower and price of several cars.”
Solution without OOP Design
 Uses parallel arrays
 Can be confusing
 Difficult to keep track of which car has which color, brand, etc.
 Example:
What is an API?

 API stands for Application Programming Interface


 Allows programmers to extend the current language to
included customized components
 Most modern languages incorporate APIs
Solution with OOP Design
 Calls to an API that contains the custom car object
 Much cleaner code
 Re-usable object
Questions?

You might also like