SlideShare a Scribd company logo
Intro into OOP
Dina Neishtadt
Who am I?
● Product Manager & Software Engineer
● Industrial Designer
● Tinkerer and Maker
Checkout my website: www.dinkaworks.com
How much code do we have
A lot.
Spaghetti code?
Functions were invented
But that wasn’t enough...
Whats everything in life?
Its an object.
What comprises an object?
● Things that describe it (properties or attributes)
● Things that the object can do or can be done to it (actions, methods or
functions)
What defines an object?
A class is what describes that MyObject comprises of and how MySpecific
object will be born to life, instantiated (constructor).
Lets take a human as an object
● Constructor - give birth to a single human (mostly), the constructor is a
function that will return the object Human upon its completion
● Properties (describe the object)
o Height (float)
o Weight (float)
o EyeColor (String)
o Sex (boolean)
o IsCryingNow (boolean)
● Methods
o Walk
o Talk
o GoToSleep
o Cry(true/false)
This is how typically a code using a Human will look:
Human myHumanChild = new Human(typeChild);
Human myHumanAdult = new Human(typeAdult);
myHumanChild.Walk();
myHumanChild.EyeColor = “blue”;
If (myHumanChild.IsCryingNow = true){
….
}
else{
myHumanChild.Cry(true);
How typically code looks
How to code all of this?
Properties, Methods and constructors are actually just functions.
The distinction is in our minds, to make it easier to understand (in most
languages).
Collections
A collection is a number of objects.
For instance:
Humanity (plural) contains many Humans (single).
Collections can have a designated data type in some languages, or be just
arrays of objects or array lists.
Inheritance
Polymorphism
Human.DoSomething(what)
Human.DoSomething(string what)
Human.DoSomething(string what, int volume)
Human.DoSomething(string what, int volume, int repeat)
Throwing Events
Something happened - system or custom.
Example:
● Human cried
● Mouse clicked
Professional term is: Throwing an event
Catching Events
Something happened - system or custom.
● Lets LISTEN to that event.
● Write an event handler (just another function)
Any Questions?
Thank you!

More Related Content

Similar to Whats Object Oriented Programming (OOP)?

Is there a future for devops ?
Is there a future for devops ?Is there a future for devops ?
Is there a future for devops ?
Kris Buytaert
 
Access the invisible visible
Access the invisible visibleAccess the invisible visible
Access the invisible visible
Jo Spelbrink
 
CREATIVITY IN DESIGN (1).pptx
CREATIVITY IN DESIGN (1).pptxCREATIVITY IN DESIGN (1).pptx
CREATIVITY IN DESIGN (1).pptx
ADEELAYUBMEM221044
 
12. Objects I
12. Objects I12. Objects I
12. Objects I
Joseph Murphy
 
Dances with unicorns
Dances with unicornsDances with unicorns
Dances with unicorns
EspritAgile
 
Agile Roles #3 The Product Owner – What is this Mythical Beast?
Agile Roles #3 The Product Owner – What is this Mythical Beast?Agile Roles #3 The Product Owner – What is this Mythical Beast?
Agile Roles #3 The Product Owner – What is this Mythical Beast?
Agile Auckland
 
Can we fix dev-oops ?
Can we fix dev-oops ?Can we fix dev-oops ?
Can we fix dev-oops ?
Kris Buytaert
 
Its not about the tooling
Its not about the toolingIts not about the tooling
Its not about the tooling
Bram Vogelaar
 
Reinvent yourself - How to become a native iOS developer in nine steps
Reinvent yourself - How to become a native iOS developer in nine stepsReinvent yourself - How to become a native iOS developer in nine steps
Reinvent yourself - How to become a native iOS developer in nine steps
Jason Hanson
 
Object-Oriented Programming in Java (Module 1)
Object-Oriented Programming in Java (Module 1)Object-Oriented Programming in Java (Module 1)
Object-Oriented Programming in Java (Module 1)
muhammadmubinmacadad2
 
C# .NET - Um overview da linguagem
C# .NET - Um overview da linguagem C# .NET - Um overview da linguagem
C# .NET - Um overview da linguagem
Claudson Oliveira
 
M01 Oo Intro
M01 Oo IntroM01 Oo Intro
M01 Oo Intro
Dang Tuan
 
Technical Interviewing
Technical InterviewingTechnical Interviewing
Technical Interviewing
Anthony D. Mays
 
We're Doing It Wrong: Prototyping the Future of the Web
We're Doing It Wrong: Prototyping the Future of the WebWe're Doing It Wrong: Prototyping the Future of the Web
We're Doing It Wrong: Prototyping the Future of the Web
Future Insights
 
Design Principles Behind PATAGONIA
Design Principles Behind PATAGONIA	Design Principles Behind PATAGONIA
Design Principles Behind PATAGONIA
ESUG
 
Build a virtual pet with javascript (april 2017)
Build a virtual pet with javascript (april 2017)Build a virtual pet with javascript (april 2017)
Build a virtual pet with javascript (april 2017)
Thinkful
 
Agile Experience Design: Don’t Just Deliver: Delight!
Agile Experience Design: Don’t Just Deliver: Delight!Agile Experience Design: Don’t Just Deliver: Delight!
Agile Experience Design: Don’t Just Deliver: Delight!
Thoughtworks
 
Workshop | Designing interactions
Workshop | Designing interactionsWorkshop | Designing interactions
Workshop | Designing interactions
Bruno Canato
 
The goMo™ Story
The goMo™ StoryThe goMo™ Story
The goMo™ Story
Kall Ramanathan
 
Nacho's Guide to Drupal+Angular
Nacho's Guide to Drupal+AngularNacho's Guide to Drupal+Angular
Nacho's Guide to Drupal+Angular
Joe Tippetts
 

Similar to Whats Object Oriented Programming (OOP)? (20)

Is there a future for devops ?
Is there a future for devops ?Is there a future for devops ?
Is there a future for devops ?
 
Access the invisible visible
Access the invisible visibleAccess the invisible visible
Access the invisible visible
 
CREATIVITY IN DESIGN (1).pptx
CREATIVITY IN DESIGN (1).pptxCREATIVITY IN DESIGN (1).pptx
CREATIVITY IN DESIGN (1).pptx
 
12. Objects I
12. Objects I12. Objects I
12. Objects I
 
Dances with unicorns
Dances with unicornsDances with unicorns
Dances with unicorns
 
Agile Roles #3 The Product Owner – What is this Mythical Beast?
Agile Roles #3 The Product Owner – What is this Mythical Beast?Agile Roles #3 The Product Owner – What is this Mythical Beast?
Agile Roles #3 The Product Owner – What is this Mythical Beast?
 
Can we fix dev-oops ?
Can we fix dev-oops ?Can we fix dev-oops ?
Can we fix dev-oops ?
 
Its not about the tooling
Its not about the toolingIts not about the tooling
Its not about the tooling
 
Reinvent yourself - How to become a native iOS developer in nine steps
Reinvent yourself - How to become a native iOS developer in nine stepsReinvent yourself - How to become a native iOS developer in nine steps
Reinvent yourself - How to become a native iOS developer in nine steps
 
Object-Oriented Programming in Java (Module 1)
Object-Oriented Programming in Java (Module 1)Object-Oriented Programming in Java (Module 1)
Object-Oriented Programming in Java (Module 1)
 
C# .NET - Um overview da linguagem
C# .NET - Um overview da linguagem C# .NET - Um overview da linguagem
C# .NET - Um overview da linguagem
 
M01 Oo Intro
M01 Oo IntroM01 Oo Intro
M01 Oo Intro
 
Technical Interviewing
Technical InterviewingTechnical Interviewing
Technical Interviewing
 
We're Doing It Wrong: Prototyping the Future of the Web
We're Doing It Wrong: Prototyping the Future of the WebWe're Doing It Wrong: Prototyping the Future of the Web
We're Doing It Wrong: Prototyping the Future of the Web
 
Design Principles Behind PATAGONIA
Design Principles Behind PATAGONIA	Design Principles Behind PATAGONIA
Design Principles Behind PATAGONIA
 
Build a virtual pet with javascript (april 2017)
Build a virtual pet with javascript (april 2017)Build a virtual pet with javascript (april 2017)
Build a virtual pet with javascript (april 2017)
 
Agile Experience Design: Don’t Just Deliver: Delight!
Agile Experience Design: Don’t Just Deliver: Delight!Agile Experience Design: Don’t Just Deliver: Delight!
Agile Experience Design: Don’t Just Deliver: Delight!
 
Workshop | Designing interactions
Workshop | Designing interactionsWorkshop | Designing interactions
Workshop | Designing interactions
 
The goMo™ Story
The goMo™ StoryThe goMo™ Story
The goMo™ Story
 
Nacho's Guide to Drupal+Angular
Nacho's Guide to Drupal+AngularNacho's Guide to Drupal+Angular
Nacho's Guide to Drupal+Angular
 

Recently uploaded

Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
What’s New in Odoo 17 – A Complete Roadmap
What’s New in Odoo 17 – A Complete RoadmapWhat’s New in Odoo 17 – A Complete Roadmap
What’s New in Odoo 17 – A Complete Roadmap
Envertis Software Solutions
 
INTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLES
INTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLESINTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLES
INTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLES
anfaltahir1010
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
ervikas4
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
Patrick Weigel
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
Bert Jan Schrijver
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
Alina Yurenko
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
Tier1 app
 
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Paul Brebner
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom KittEnhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Peter Caitens
 
Kubernetes at Scale: Going Multi-Cluster with Istio
Kubernetes at Scale:  Going Multi-Cluster  with IstioKubernetes at Scale:  Going Multi-Cluster  with Istio
Kubernetes at Scale: Going Multi-Cluster with Istio
Severalnines
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
Marcin Chrost
 
The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024
Yara Milbes
 
Project Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdfProject Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdf
Karya Keeper
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
gapen1
 
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
kalichargn70th171
 

Recently uploaded (20)

Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
What’s New in Odoo 17 – A Complete Roadmap
What’s New in Odoo 17 – A Complete RoadmapWhat’s New in Odoo 17 – A Complete Roadmap
What’s New in Odoo 17 – A Complete Roadmap
 
INTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLES
INTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLESINTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLES
INTRODUCTION TO AI CLASSICAL THEORY TARGETED EXAMPLES
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
 
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom KittEnhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
 
Kubernetes at Scale: Going Multi-Cluster with Istio
Kubernetes at Scale:  Going Multi-Cluster  with IstioKubernetes at Scale:  Going Multi-Cluster  with Istio
Kubernetes at Scale: Going Multi-Cluster with Istio
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
 
The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024
 
Project Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdfProject Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdf
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
 
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
 

Whats Object Oriented Programming (OOP)?

  • 2. Who am I? ● Product Manager & Software Engineer ● Industrial Designer ● Tinkerer and Maker Checkout my website: www.dinkaworks.com
  • 3. How much code do we have A lot.
  • 4. Spaghetti code? Functions were invented But that wasn’t enough...
  • 5. Whats everything in life? Its an object.
  • 6. What comprises an object? ● Things that describe it (properties or attributes) ● Things that the object can do or can be done to it (actions, methods or functions)
  • 7. What defines an object? A class is what describes that MyObject comprises of and how MySpecific object will be born to life, instantiated (constructor).
  • 8. Lets take a human as an object ● Constructor - give birth to a single human (mostly), the constructor is a function that will return the object Human upon its completion ● Properties (describe the object) o Height (float) o Weight (float) o EyeColor (String) o Sex (boolean) o IsCryingNow (boolean) ● Methods o Walk o Talk o GoToSleep o Cry(true/false)
  • 9. This is how typically a code using a Human will look: Human myHumanChild = new Human(typeChild); Human myHumanAdult = new Human(typeAdult); myHumanChild.Walk(); myHumanChild.EyeColor = “blue”; If (myHumanChild.IsCryingNow = true){ …. } else{ myHumanChild.Cry(true); How typically code looks
  • 10. How to code all of this? Properties, Methods and constructors are actually just functions. The distinction is in our minds, to make it easier to understand (in most languages).
  • 11. Collections A collection is a number of objects. For instance: Humanity (plural) contains many Humans (single). Collections can have a designated data type in some languages, or be just arrays of objects or array lists.
  • 13. Polymorphism Human.DoSomething(what) Human.DoSomething(string what) Human.DoSomething(string what, int volume) Human.DoSomething(string what, int volume, int repeat)
  • 14. Throwing Events Something happened - system or custom. Example: ● Human cried ● Mouse clicked Professional term is: Throwing an event
  • 15. Catching Events Something happened - system or custom. ● Lets LISTEN to that event. ● Write an event handler (just another function)