OBJECT-ORIENTED PROGRAMMING
GIUSEPPE MASETTI
ESCI 872 – APPLIED TOOLS FOR OCEAN MAPPING – INTRODUCTION TO OCEAN DATA SCIENCE
Durham, NH – August 29, 2019
V1
Definition
Instantiation
External
Access
MODULE
GOAL:
Add more
methods
to classes
WHY OBJECT-ORIENTED PROGRAMMING?
• Powerful approach to organize your code
• An object contains both:
• Data → Class variables
• Behavior → Methods (Class functions)
• Helps on creating reusable code → Don’t Repeat Yourself (DRY)
• An object keeps internal a lot of details → Encapsulation
• Many other good reasons
• AbstracƟon → Helps building complex systems by spliƫng their complexity
• Inheritance → A class may inherit data/behavior from other classes + extend them
• Polymorphism → The same method may behave differently on different classes
• …
CLASS VS OBJECT
MODULE TASK → AN EXAMPLE CLASS IN SIX STEPS
1. MINIMAL DEFINITION
MODULE TASK → AN EXAMPLE CLASS IN SIX STEPS
1. MINIMAL DEFINITION
2.+ __init__()
MODULE TASK → AN EXAMPLE CLASS IN SIX STEPS
1. MINIMAL DEFINITION
2.+ __init__()
3.+ INITIALIZATION PARAMETER
MODULE TASK → AN EXAMPLE CLASS IN SIX STEPS
1. MINIMAL DEFINITION
2.+ __init__()
3.+ INITIALIZATION PARAMETER
4.+ ERROR CHECK
MODULE TASK → AN EXAMPLE CLASS IN SIX STEPS
1. MINIMAL DEFINITION
2.+ __init__()
3.+ INITIALIZATION PARAMETER
4.+ ERROR CHECK
5.+ __str__()
MODULE TASK → AN EXAMPLE CLASS IN SIX STEPS
1. MINIMAL DEFINITION
2.+ __init__()
3.+ INITIALIZATION PARAMETER
4.+ ERROR CHECK
5.+ __str__()
6.+ read()
A DIFFERENT CODING APPROACH
PROGRAMMING BASIC
WITH PYTHON
INTRODUCTION TO
OCEAN DATA SCIENCE
Definition
Instantiation
Instantiation
Definition ???
YOU WILL CREATE YOUR OWN PYTHON MODULE!
YOU WILL CREATE YOUR OWN PYTHON MODULE!
mycode
YOU WILL CREATE YOUR OWN PYTHON MODULE!
mycode
YOU WILL CREATE YOUR OWN PYTHON MODULE!
mycode
GO TO “FIRST STEPS OF A CLASS” NOTEBOOK
QUESTIONS?
Contact me at: gmasetti@ccom.unh.edu

ePOM - Intro to Ocean Data Science - Object-Oriented Programming

  • 1.
    OBJECT-ORIENTED PROGRAMMING GIUSEPPE MASETTI ESCI872 – APPLIED TOOLS FOR OCEAN MAPPING – INTRODUCTION TO OCEAN DATA SCIENCE Durham, NH – August 29, 2019 V1
  • 3.
  • 4.
  • 5.
    WHY OBJECT-ORIENTED PROGRAMMING? •Powerful approach to organize your code • An object contains both: • Data → Class variables • Behavior → Methods (Class functions) • Helps on creating reusable code → Don’t Repeat Yourself (DRY) • An object keeps internal a lot of details → Encapsulation • Many other good reasons • AbstracƟon → Helps building complex systems by spliƫng their complexity • Inheritance → A class may inherit data/behavior from other classes + extend them • Polymorphism → The same method may behave differently on different classes • …
  • 6.
  • 7.
    MODULE TASK →AN EXAMPLE CLASS IN SIX STEPS 1. MINIMAL DEFINITION
  • 8.
    MODULE TASK →AN EXAMPLE CLASS IN SIX STEPS 1. MINIMAL DEFINITION 2.+ __init__()
  • 9.
    MODULE TASK →AN EXAMPLE CLASS IN SIX STEPS 1. MINIMAL DEFINITION 2.+ __init__() 3.+ INITIALIZATION PARAMETER
  • 10.
    MODULE TASK →AN EXAMPLE CLASS IN SIX STEPS 1. MINIMAL DEFINITION 2.+ __init__() 3.+ INITIALIZATION PARAMETER 4.+ ERROR CHECK
  • 11.
    MODULE TASK →AN EXAMPLE CLASS IN SIX STEPS 1. MINIMAL DEFINITION 2.+ __init__() 3.+ INITIALIZATION PARAMETER 4.+ ERROR CHECK 5.+ __str__()
  • 12.
    MODULE TASK →AN EXAMPLE CLASS IN SIX STEPS 1. MINIMAL DEFINITION 2.+ __init__() 3.+ INITIALIZATION PARAMETER 4.+ ERROR CHECK 5.+ __str__() 6.+ read()
  • 13.
    A DIFFERENT CODINGAPPROACH PROGRAMMING BASIC WITH PYTHON INTRODUCTION TO OCEAN DATA SCIENCE Definition Instantiation Instantiation Definition ???
  • 14.
    YOU WILL CREATEYOUR OWN PYTHON MODULE!
  • 15.
    YOU WILL CREATEYOUR OWN PYTHON MODULE! mycode
  • 16.
    YOU WILL CREATEYOUR OWN PYTHON MODULE! mycode
  • 17.
    YOU WILL CREATEYOUR OWN PYTHON MODULE! mycode
  • 18.
    GO TO “FIRSTSTEPS OF A CLASS” NOTEBOOK
  • 19.
    QUESTIONS? Contact me at:gmasetti@ccom.unh.edu