SlideShare a Scribd company logo
OOP in Java Introduction to the world of software engineering, object-oriented programming and Java Thomas Wiradikusuma [email_address] www.wiradikusuma.com Presentation to the 18 th  Java User Group Meet Up (JaMU), January 14, 2006
Agenda Quick tour on software engineering Object-oriented concept Introduction to Java OO approach in Java
Objective To attract newcomers into the field of programming and software development, practically using Java as their language of choice.
Programming Defined Algorithm and Program Programming language A short tour into Software Development Lifecycle (SDLC), from Waterfall to Iterative Development
Joys and Woes of Programming The joys The woes
Program Evolution Program Programming System Programming Product Programming Systems Product
Common Pitfalls Schedule slippage Project objectives slippage Unrealistic budget Lack of documentation Hard to extend
Essence of Modern Systems Complexity Conformity Changeability Invisibility
Hope for Silver Bullets High-level language advancements Object-oriented programming Graphical programming (diagramming) Incremental and iterative development Rapid prototyping Great designers …
Object-oriented Programming Essence: Abstraction Principals: Encapsulation Inheritance Polymorphism
Abstraction Humans manage complexity through abstraction For example, people do not think a car as a set of tens of thousands of individual parts. They think of it as a well-defined object with its own unique behavior A powerful way to manage abstraction is through the use of hierarchical classifications (layers)
Encapsulation The mechanism that binds together code and the data it manipulates Protective wrapper that prevents the code and data from being misused outside the wrapper Controlled through a well-defined interface Allows migration of implementation without breaking contract with users of that class In Java, the basis of encapsulation is the class
Inheritance The process by which one object acquires the properties of another object Supports the concept of hierarchical classification Using inheritance, object needs only define qualities that make it unique. General attributes are inherited from its parent The concept of super class and sub class
Polymorphism Feature that allows one interface to be used for a general class of actions. The specific action is determined by the exact nature of the situation One interface, multiple methods Allows creation of clean, sensible, readable and resilient code
Benefits of OO Approach Objects are more “real-world” Objects provide the flexibility and control necessary to deal with evolving requirements Object use facilitates collaboration Objects help manage complexity Reusability, maintainability and extensibility
Introducing Java A little history Buzzwords: simple, object-oriented, robust, multithreaded, architecture-neutral, interpreted and high performance, distributed, dynamic Java platforms: JavaME, JavaSE, JavaEE
Applied OOP in Java Class as the unit of work Everything but primitive types are objects Encapsulation, inheritance and polymorphism in action Interface Design patterns
Being a Programmer Read literatures Exercise Take course in computer science Get involved in actual projects (start from something simple and advancing!) Get involved in discussions/forums (such as Java User Groups) …

More Related Content

PPTX
Object Oriented Programing JAVA presentaion
PPTX
01 introduction to oop and java
PPTX
Object+oriented+programming+in+java
PPTX
Introduction to oop using java
PDF
PPSX
Java Object Oriented Programming
PPTX
Java object oriented programming concepts - Brainsmartlabs
KEY
Practical OOP In Java
Object Oriented Programing JAVA presentaion
01 introduction to oop and java
Object+oriented+programming+in+java
Introduction to oop using java
Java Object Oriented Programming
Java object oriented programming concepts - Brainsmartlabs
Practical OOP In Java

What's hot (20)

DOCX
OBJECT ORIENTED ROGRAMMING With Question And Answer Full
PPTX
Introduction to oop
PPTX
OOP Introduction with java programming language
PPTX
Object oriented concepts with java
PPSX
Short notes of oop with java
DOC
Course outline [csc241 object oriented programming]
PDF
Oops concepts || Object Oriented Programming Concepts in Java
ODP
OOP java
PPTX
PPT
Oops ppt
PDF
Object Oriented Concepts in Real Projects
PPT
OOP programming
PPTX
Std 12 computer chapter 6 object oriented concepts (part 1)
PDF
OOP Java
PPT
Object-Oriented Concepts
PPTX
General oops concepts
PDF
Cs8392 oops 5 units notes
PDF
Cs8392 u1-1-oop intro
PPTX
Object oriented programming-with_java
PPTX
Abstract Class In Java | Java Abstract Class Tutorial | Java Tutorial For Beg...
OBJECT ORIENTED ROGRAMMING With Question And Answer Full
Introduction to oop
OOP Introduction with java programming language
Object oriented concepts with java
Short notes of oop with java
Course outline [csc241 object oriented programming]
Oops concepts || Object Oriented Programming Concepts in Java
OOP java
Oops ppt
Object Oriented Concepts in Real Projects
OOP programming
Std 12 computer chapter 6 object oriented concepts (part 1)
OOP Java
Object-Oriented Concepts
General oops concepts
Cs8392 oops 5 units notes
Cs8392 u1-1-oop intro
Object oriented programming-with_java
Abstract Class In Java | Java Abstract Class Tutorial | Java Tutorial For Beg...
Ad

Viewers also liked (20)

PPT
Java OOP s concepts and buzzwords
PPT
Object Oriented Programming Concepts
PDF
Konsep Pemrograman Berorientasi Objek
PPTX
Introduction to java
PPT
Java tutorial PPT
PPTX
C, C++, Java, Android
PPT
Java tutorial PPT
PPT
Tugas 4 rekayasa web
PDF
Los Angeles R users group - July 12 2011 - Part 2
DOCX
Modul oop with java application mauludin
ZIP
The Game Of Life - Java‘s Siblings and Heirs are populating the Ecosystem
PDF
Pemrograman Berorientasi Objek "Pengenalan JAVA"
DOCX
Laporan hasil praktikum modul ii tipe data
PDF
KC Java Android Talk (March 2011)
PPT
First Steps in Android
PPTX
GUI Programming with Java
PPT
Gu iintro(java)
PDF
Software Engineering with Objects (M363) Final Revision By Kuwait10
PDF
Pemrograman Berorientasi Objek "Pengenalan Dasar Pemrograman JAVA"
PPTX
Introduction to Android Development
Java OOP s concepts and buzzwords
Object Oriented Programming Concepts
Konsep Pemrograman Berorientasi Objek
Introduction to java
Java tutorial PPT
C, C++, Java, Android
Java tutorial PPT
Tugas 4 rekayasa web
Los Angeles R users group - July 12 2011 - Part 2
Modul oop with java application mauludin
The Game Of Life - Java‘s Siblings and Heirs are populating the Ecosystem
Pemrograman Berorientasi Objek "Pengenalan JAVA"
Laporan hasil praktikum modul ii tipe data
KC Java Android Talk (March 2011)
First Steps in Android
GUI Programming with Java
Gu iintro(java)
Software Engineering with Objects (M363) Final Revision By Kuwait10
Pemrograman Berorientasi Objek "Pengenalan Dasar Pemrograman JAVA"
Introduction to Android Development
Ad

Similar to OOP in Java (20)

PDF
Class notes(week 2) on basic concepts of oop-2
PPTX
U1 JAVA.pptx
DOCX
Class notes(week 2) on basic concepts of oop-2
PDF
Object-Oriented Programming in Java.pdf
PPTX
Java Programming - UNIT - 1, Basics OOPS, Differences
PPTX
PDF
[FREE PDF sample] Object Oriented Programming and Java Second Edition Danny P...
PPT
Object oriented programming_Unit1_Introduction.ppt
PPTX
JAVA PROGRAMMINGD
PPTX
Birasa 1
PPTX
JAVA PROGRAMMING
PPTX
Untitled presentation about object oriented.pptx
PPTX
Introduction to Java Programming beginners.pptx
ODP
Basic of Java
PDF
Java chapter 3
PDF
Java Progamming Paradigms, OOPS Concept, Introduction to Java, Structure of J...
PDF
Java Programming Paradigms Chapter 1
PPTX
SKILLWISE - OOPS CONCEPT
PPT
Oops in Java
PDF
MCA NOTES.pdf
Class notes(week 2) on basic concepts of oop-2
U1 JAVA.pptx
Class notes(week 2) on basic concepts of oop-2
Object-Oriented Programming in Java.pdf
Java Programming - UNIT - 1, Basics OOPS, Differences
[FREE PDF sample] Object Oriented Programming and Java Second Edition Danny P...
Object oriented programming_Unit1_Introduction.ppt
JAVA PROGRAMMINGD
Birasa 1
JAVA PROGRAMMING
Untitled presentation about object oriented.pptx
Introduction to Java Programming beginners.pptx
Basic of Java
Java chapter 3
Java Progamming Paradigms, OOPS Concept, Introduction to Java, Structure of J...
Java Programming Paradigms Chapter 1
SKILLWISE - OOPS CONCEPT
Oops in Java
MCA NOTES.pdf

More from wiradikusuma (8)

ODP
Open Source And Java
ODP
Open Source is Not An Alternative, It is The Solution
PPT
Design Pattern
PPT
Spring 2.1 Exposed
PPT
A Taste of Java ME
PPT
Subversion
PPT
Spring and DWR
PPT
Introducing Struts 2
Open Source And Java
Open Source is Not An Alternative, It is The Solution
Design Pattern
Spring 2.1 Exposed
A Taste of Java ME
Subversion
Spring and DWR
Introducing Struts 2

Recently uploaded (20)

PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
1. Introduction to Computer Programming.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PPTX
Big Data Technologies - Introduction.pptx
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Advanced methodologies resolving dimensionality complications for autism neur...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
1. Introduction to Computer Programming.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Digital-Transformation-Roadmap-for-Companies.pptx
Programs and apps: productivity, graphics, security and other tools
Spectral efficient network and resource selection model in 5G networks
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
SOPHOS-XG Firewall Administrator PPT.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Group 1 Presentation -Planning and Decision Making .pptx
MIND Revenue Release Quarter 2 2025 Press Release
“AI and Expert System Decision Support & Business Intelligence Systems”
Reach Out and Touch Someone: Haptics and Empathic Computing
The Rise and Fall of 3GPP – Time for a Sabbatical?
Per capita expenditure prediction using model stacking based on satellite ima...
Big Data Technologies - Introduction.pptx
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025

OOP in Java

  • 1. OOP in Java Introduction to the world of software engineering, object-oriented programming and Java Thomas Wiradikusuma [email_address] www.wiradikusuma.com Presentation to the 18 th Java User Group Meet Up (JaMU), January 14, 2006
  • 2. Agenda Quick tour on software engineering Object-oriented concept Introduction to Java OO approach in Java
  • 3. Objective To attract newcomers into the field of programming and software development, practically using Java as their language of choice.
  • 4. Programming Defined Algorithm and Program Programming language A short tour into Software Development Lifecycle (SDLC), from Waterfall to Iterative Development
  • 5. Joys and Woes of Programming The joys The woes
  • 6. Program Evolution Program Programming System Programming Product Programming Systems Product
  • 7. Common Pitfalls Schedule slippage Project objectives slippage Unrealistic budget Lack of documentation Hard to extend
  • 8. Essence of Modern Systems Complexity Conformity Changeability Invisibility
  • 9. Hope for Silver Bullets High-level language advancements Object-oriented programming Graphical programming (diagramming) Incremental and iterative development Rapid prototyping Great designers …
  • 10. Object-oriented Programming Essence: Abstraction Principals: Encapsulation Inheritance Polymorphism
  • 11. Abstraction Humans manage complexity through abstraction For example, people do not think a car as a set of tens of thousands of individual parts. They think of it as a well-defined object with its own unique behavior A powerful way to manage abstraction is through the use of hierarchical classifications (layers)
  • 12. Encapsulation The mechanism that binds together code and the data it manipulates Protective wrapper that prevents the code and data from being misused outside the wrapper Controlled through a well-defined interface Allows migration of implementation without breaking contract with users of that class In Java, the basis of encapsulation is the class
  • 13. Inheritance The process by which one object acquires the properties of another object Supports the concept of hierarchical classification Using inheritance, object needs only define qualities that make it unique. General attributes are inherited from its parent The concept of super class and sub class
  • 14. Polymorphism Feature that allows one interface to be used for a general class of actions. The specific action is determined by the exact nature of the situation One interface, multiple methods Allows creation of clean, sensible, readable and resilient code
  • 15. Benefits of OO Approach Objects are more “real-world” Objects provide the flexibility and control necessary to deal with evolving requirements Object use facilitates collaboration Objects help manage complexity Reusability, maintainability and extensibility
  • 16. Introducing Java A little history Buzzwords: simple, object-oriented, robust, multithreaded, architecture-neutral, interpreted and high performance, distributed, dynamic Java platforms: JavaME, JavaSE, JavaEE
  • 17. Applied OOP in Java Class as the unit of work Everything but primitive types are objects Encapsulation, inheritance and polymorphism in action Interface Design patterns
  • 18. Being a Programmer Read literatures Exercise Take course in computer science Get involved in actual projects (start from something simple and advancing!) Get involved in discussions/forums (such as Java User Groups) …