SlideShare a Scribd company logo
1 of 17
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 visibleJo Spelbrink
 
Dances with unicorns
Dances with unicornsDances with unicorns
Dances with unicornsEspritAgile
 
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 toolingBram 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 stepsJason 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 IntroDang Tuan
 
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 WebFuture 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 interactionsBruno Canato
 
Nacho's Guide to Drupal+Angular
Nacho's Guide to Drupal+AngularNacho's Guide to Drupal+Angular
Nacho's Guide to Drupal+AngularJoe 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

The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 

Recently uploaded (20)

The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 

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)