KEMBAR78
Introduction.ppt JAVA SCRIPT PROGRAMMING AND | PPT
1
INTRODUCTION TO OOP
Objective:
•Know the difference between functional programmin
and OOP
• Know basic terminology in OOP
• Know the importance of OOP
• Know four design principles of OOP
• Know OOP programming languages
Programming Paradigm
A programming paradigm is a style, or
“way,” of programming
Types of Programming
Paradigm
Imperative: Programming with an explicit
sequence of commands that update state.
Declarative: Programming by specifying
the result you want, not how to get it.
Object-Oriented: Programming by
defining objects that send messages to
each other. Objects have their own
internal (encapsulated) state and public
interfaces.
Types of Programming
Paradigm…
Object orientation can be:
Class-based: Objects get state and behavior
based on membership in a class.
Prototype-based: Objects get behavior from
a prototype object.
Structured: Programming with clean,
goto-free, nested control structures.
Procedural: Imperative programming
with procedure calls.
Types of Programming
Paradigm..
Event-Driven: Programming with emitters and
listeners of asynchronous actions.
Flow-Driven: Programming processes
communicating with each other over
predefined channels.
Functional (Applicative): Programming with
function calls that avoid any global state.
Function-Level (Combinator): Programming
with no variables at all.
Types of Programming
Paradigm..
Logic (Rule-based): Programming by
specifying a set of facts and rules. An
engine infers the answers to questions.
Constraint: Programming by specifying
a set of constraints. An engine finds the
values that meet the constraints.
Aspect-Oriented: Programming cross-
cutting concerns applied transparently.
7
STRUCTURED vs. OO PROGRAMMING
STRUCTURED PROGRAMMING:
MAIN PROGRAM
FUNCTION 3
FUNCTION 2
GLOBAL DATA
FUNCTION 5
FUNCTION 4
FUNCTION 1
8
Structured Programming
Using function
Function & program is divided into modules
Every module has its own data and function
which can be called by other modules.
9
OBJECT ORIENTED PROGRAMMING
Object 1
Object 2
Data
Function
Data
Function
Object 3
Data
Function
10
OBJECT ORIENTED PROGRAMMING
•Objects have both data and methods
• Objects of the same class have the same data
elements and methods
• Objects send and receive messages to invoke
actions
Key idea in object-oriented:
The real world can be accurately described as a collection of
objects that interact.
11
Basic terminology
Basic terminology
•object
- usually a person, place or thing (a noun)
•method
- an action performed by an object (a verb)
•attribute
- description of objects in a class
•class
- a category of similar objects (such as
automobiles)
- does not hold any values of the object’s attributes
12
Example for attributes and methods
Attributes:
manufacturer’s
name
model name
year made
color
number of doors
size of engine
etc.
Methods:
Define data items
(specify
manufacturer’s name,
model, year, etc.)
Change a data item
(color, engine, etc.)
Display data items
Calculate cost
etc.
13
Why OOP?
• Save development time (and cost) by reusing
code
–once an object class is created it can be used
in other applications
• Easier debugging
–classes can be tested independently
–reused objects have already been tested
14
Design Principles of OOP
Four main design principles of Object-
Oriented Programming(OOP):
• Encapsulation
• Abstraction
• Polymorphism
• Inheritance
15
Encapsulation
•Also known as data hiding
•Only object’s methods can modify information
in the object.
Analogy:
• ATM machine can only update accounts of one
person or object only.
16
Abstraction
Focus only on the important facts about the
problem at hand
to design, produce, and describe so that it can be
easily used without knowing the details of how it
works.
Analogy:
When you drive a car, you don’t have to know how
the gasoline and air are mixed and ignited.
Instead you only have to know how to use the
controls.
Draw map
17
Polymorphism
•the same word or phrase can mean different
things in different contexts
Analogy:
•In English, bank can mean side of a river or a
place to put money
•move -
18
Function Overloading
The operation of one function depends on
the argument passed to it.
Example: Fly(), Fly(low), Fly(150)
19
Inheritance
• Inheritance—a way of organizing classes
• Term comes from inheritance of traits like eye
color, hair color, and so on.
• Classes with properties in common can be
grouped so that their common properties are
only defined once.
• Superclass – inherit its attributes & methods to
the subclass(es).
• Subclass – can inherit all its superclass
attributes & methods besides having its own
unique attributes & methods.
20
An Inheritance Hierarchy
Vehicle
Automobile Motorcycle Bus
Sedan Sports Car School Bus
Luxury Bus
What properties does each vehicle inherit from the types
of vehicles above it in the diagram?
Superclass
Subclasses
21
Object-Oriented Programming Languages
 Pure OO Languages
Smalltalk, Eiffel, Actor, Java
 Hybrid OO Languages
C++, Objective-C, Object-Pascal

Introduction.ppt JAVA SCRIPT PROGRAMMING AND

  • 1.
    1 INTRODUCTION TO OOP Objective: •Knowthe difference between functional programmin and OOP • Know basic terminology in OOP • Know the importance of OOP • Know four design principles of OOP • Know OOP programming languages
  • 2.
    Programming Paradigm A programmingparadigm is a style, or “way,” of programming
  • 3.
    Types of Programming Paradigm Imperative:Programming with an explicit sequence of commands that update state. Declarative: Programming by specifying the result you want, not how to get it. Object-Oriented: Programming by defining objects that send messages to each other. Objects have their own internal (encapsulated) state and public interfaces.
  • 4.
    Types of Programming Paradigm… Objectorientation can be: Class-based: Objects get state and behavior based on membership in a class. Prototype-based: Objects get behavior from a prototype object. Structured: Programming with clean, goto-free, nested control structures. Procedural: Imperative programming with procedure calls.
  • 5.
    Types of Programming Paradigm.. Event-Driven:Programming with emitters and listeners of asynchronous actions. Flow-Driven: Programming processes communicating with each other over predefined channels. Functional (Applicative): Programming with function calls that avoid any global state. Function-Level (Combinator): Programming with no variables at all.
  • 6.
    Types of Programming Paradigm.. Logic(Rule-based): Programming by specifying a set of facts and rules. An engine infers the answers to questions. Constraint: Programming by specifying a set of constraints. An engine finds the values that meet the constraints. Aspect-Oriented: Programming cross- cutting concerns applied transparently.
  • 7.
    7 STRUCTURED vs. OOPROGRAMMING STRUCTURED PROGRAMMING: MAIN PROGRAM FUNCTION 3 FUNCTION 2 GLOBAL DATA FUNCTION 5 FUNCTION 4 FUNCTION 1
  • 8.
    8 Structured Programming Using function Function& program is divided into modules Every module has its own data and function which can be called by other modules.
  • 9.
    9 OBJECT ORIENTED PROGRAMMING Object1 Object 2 Data Function Data Function Object 3 Data Function
  • 10.
    10 OBJECT ORIENTED PROGRAMMING •Objectshave both data and methods • Objects of the same class have the same data elements and methods • Objects send and receive messages to invoke actions Key idea in object-oriented: The real world can be accurately described as a collection of objects that interact.
  • 11.
    11 Basic terminology Basic terminology •object -usually a person, place or thing (a noun) •method - an action performed by an object (a verb) •attribute - description of objects in a class •class - a category of similar objects (such as automobiles) - does not hold any values of the object’s attributes
  • 12.
    12 Example for attributesand methods Attributes: manufacturer’s name model name year made color number of doors size of engine etc. Methods: Define data items (specify manufacturer’s name, model, year, etc.) Change a data item (color, engine, etc.) Display data items Calculate cost etc.
  • 13.
    13 Why OOP? • Savedevelopment time (and cost) by reusing code –once an object class is created it can be used in other applications • Easier debugging –classes can be tested independently –reused objects have already been tested
  • 14.
    14 Design Principles ofOOP Four main design principles of Object- Oriented Programming(OOP): • Encapsulation • Abstraction • Polymorphism • Inheritance
  • 15.
    15 Encapsulation •Also known asdata hiding •Only object’s methods can modify information in the object. Analogy: • ATM machine can only update accounts of one person or object only.
  • 16.
    16 Abstraction Focus only onthe important facts about the problem at hand to design, produce, and describe so that it can be easily used without knowing the details of how it works. Analogy: When you drive a car, you don’t have to know how the gasoline and air are mixed and ignited. Instead you only have to know how to use the controls. Draw map
  • 17.
    17 Polymorphism •the same wordor phrase can mean different things in different contexts Analogy: •In English, bank can mean side of a river or a place to put money •move -
  • 18.
    18 Function Overloading The operationof one function depends on the argument passed to it. Example: Fly(), Fly(low), Fly(150)
  • 19.
    19 Inheritance • Inheritance—a wayof organizing classes • Term comes from inheritance of traits like eye color, hair color, and so on. • Classes with properties in common can be grouped so that their common properties are only defined once. • Superclass – inherit its attributes & methods to the subclass(es). • Subclass – can inherit all its superclass attributes & methods besides having its own unique attributes & methods.
  • 20.
    20 An Inheritance Hierarchy Vehicle AutomobileMotorcycle Bus Sedan Sports Car School Bus Luxury Bus What properties does each vehicle inherit from the types of vehicles above it in the diagram? Superclass Subclasses
  • 21.
    21 Object-Oriented Programming Languages Pure OO Languages Smalltalk, Eiffel, Actor, Java  Hybrid OO Languages C++, Objective-C, Object-Pascal