SlideShare a Scribd company logo
Core Java Training
Object Oriented Programming
Page 1Classification: Restricted
Agenda
• Object Oriented Programming Concepts
• Introduction to OO Analysis and Design
Page 2Classification: Restricted
Object Oriented Programming
• Why OO programming?
• What is OOAD? Why?
Page 3Classification: Restricted
Why Object Oriented?
Page 4Classification: Restricted
4
What kind of language can alleviate difficulties with
communication & complexity hopefully well?
Why Object-Oriented?
“The "software crises" came about when people realized the major
problems in software development were … caused by communication
difficulties and the management of complexity” [Budd]
The Whorfian Hypothesis:
Human beings … are very much at the mercy of the particular language
which has become the medium of expression for their society … the 'real
world' is … built upon the language habits …



Page 5Classification: Restricted
Why Object-Oriented?
For conceptual.. Modelling reasons…
What kind of language can be used to create this concept diagram, or Harry’s
mental image?
Harry’s mental image
Page 6Classification: Restricted
Why Object-Oriented?
For conceptual.. Modelling reasons…
What kind of language can be used to create this concept diagram, or Harry’s
mental image?
Harry’s mental image Model with Procedural language
Page 7Classification: Restricted
Why Object-Oriented?
For conceptual.. Modelling reasons…
What kind of language can be used to create this concept diagram, or Harry’s
mental image?
Water
Rivers Oceans
Fish
Penguins
Crocodiles
Fresh water
Salt water
have
have
have
live in
have
have
Harry’s mental image Model with Object Oriented
Page 8Classification: Restricted
Why Object-Oriented?
Why Model?
• To understand why a software system is needed, what it should do, and
how it should do it.
• To communicate our understanding of why, what and how.
• To detect commonalities and differences in your perception, my
perception, his perception and her perception of reality.
• To detect misunderstandings and miscommunications.
Page 9Classification: Restricted
Object Oriented Programming
• Consists of classes and object.
• Object communicates with each other by passing messages
What is an
object????
Page 10Classification: Restricted
Object States
An Object has State and Behavior
Page 11Classification: Restricted
Objects
• Objects have state and behavior
State: What an object knows about itself
Behavior :What an object can do.
Object
Name
State =
charecter
stics
Behaviou
r:
Dog
State:
Name
Breed
Height
Weight
Behavi
our:
eat()
run()
walk()
Page 12Classification: Restricted
Class
• Class is Blue Print
• Logical structure
• Set of instructions given to JVM , how to create instance ( object ) out of
it.
Page 13Classification: Restricted
Class
• Class consists of
• Member variables and member methods.
• State/ characteristics is represented via member variables
• Member methods defines the responsibility of the class
• Data within object represents its state.
• State - Member Variables
• To:
• Text:
• Behavior – Member functions
• sendSms
• Forward
• delete
Page 14Classification: Restricted
Messages
To
Text
sendSms
Forward
cancel
Messages1: Tom
To : 123-456-
7896
Text : Hi Tom,
sendSms
Forward
cancel
Messages2: Jack
To : 478-963-
7896
Text : Hi Jack
sendSms
Save
Delete
Class
Object Tom
Object Jack
Page 15Classification: Restricted
Contacts
Name:
Number
email
createContact
updateContact
deleteContact
Contacts1: Tom
Name: Tom
Number : 456-789-
7895
Email
:tom@gmail.com
createContact
updateContact
Contacts2: Jack
Name: Jack
Number 789-896-
8965
Email:
jack@gmail.com
createContact
updateContact
Page 16Classification: Restricted
Features of OOP: 4 pillars
• Inheritance: When one object acquires all the properties and behaviours of
parent object i.e. known as inheritance. It provides code reusability.
• Polymorphism: When one task is performed by different ways i.e. known as
polymorphism. For example: to convince the customer differently, to draw
something, shape or rectangle etc. In Java, we use method overloading and
method overriding to achieve polymorphism.
• Abstraction: Hiding internal details and showing functionality. In Java, we
use abstract class and interface to achieve abstraction.
• Encapsulation: Binding (or wrapping) code and data together into a single
unit is known as encapsulation. For example: capsule, it is wrapped with
different medicines. A Java class is the example of encapsulation. Java
bean is the fully encapsulated class because all the data members are
private here.
Page 17Classification: Restricted
17
Encapsulation
a.k.a. information hiding
Objects encapsulate:
property
behavior as a collection of methods invoked by messages
…state as a collection of instance variables
Abstraction
Focus on the essential
Omits tremendous amount of details
…Focus on what an object “is and does”
What is Object-Orientation
- Abstraction and Encapsulation
Page 18Classification: Restricted
What is Object-Orientation
- Subclass vs. Superclass / Inheritance
• Specialization: The act of defining one class as a refinement of another.
• Subclass: A class defined in terms of a specialization of a superclass using
inheritance.
• Superclass: A class serving as a base for inheritance in a class hierarchy
• Inheritance: Automatic duplication of superclass attribute and behavior definitions
in subclass.
multiple inheritance?
Person
name
SSN
Student
std-id
level
Employee
emp-id
age
Page 19Classification: Restricted
What is Object-Orientation
- Polymorphism
Objects of different classes respond to the same message differently.
Page 20Classification: Restricted
Advantages of Object Oriented Approach
• Realistic Modelling
Page 21Classification: Restricted
Advantages of Object Oriented Programing
• Realistic Modelling
Bike
String color;
String model;
Integer speed;
Accelerate()
Decelerate()
Break()
Page 22Classification: Restricted
Advantages of Object Oriented Approach
• Code Reusability
Contacts1: Tom
Name: Tom
Number : 456-
789-7895
Email
:tom@gmail.com
createContact
updateContact
deleteContact
Page 23Classification: Restricted
Advantages of Object Oriented Programing
• Flexibility to change:
WordAppV1 WordAppV2
Page 24Classification: Restricted
Advantages of Object Oriented
• Modularity
Java & JEE Training
Object Oriented Analysis and Design
Page 26Classification: Restricted
Difference between Analysis and Design…
• A basic system (or subsystem)
SystemInput Output
Page 27Classification: Restricted
Difference between Analysis and Design…
• Analysis
• Design
SystemInput ????
????Input Output
Page 28Classification: Restricted
28
What is OOAD?
• Analysis — understanding, finding and describing concepts in the problem
domain.
• Design — understanding and defining software solution/objects that
represent the analysis concepts and will eventually be implemented in
code.
• OOAD — Analysis is object-oriented and design is object-oriented. A
software development approach that emphasizes a logical solution based
on objects.
Maintainability through Traceability!
Page 29Classification: Restricted
29
Traceability => Maintainability
Artificial problem
Accidental design
Page 30Classification: Restricted
More later…
• More practical examples of OOAD in later sessions…
• Now let us start looking at Object Oriented Programming concepts using
Java
Java & JEE Training
Object Oriented Programming with Java
- Basic Class Demo
Page 32Classification: Restricted
Naming Conventions
Name Convention
class name should start with uppercase letter and be a noun e.g.
String, Color, Button, System, Thread etc.
interface name should start with uppercase letter and be an adjective
e.g. Runnable, Remote, ActionListener etc.
method name should start with lowercase letter and be a verb e.g.
actionPerformed(), main(), print(), println() etc.
variable name should start with lowercase letter e.g. firstName,
orderNumber etc.
package name should be in lowercase letter e.g. java, lang, sql, util
etc.
constants name should be in uppercase letter. e.g. RED, YELLOW,
MAX_PRIORITY etc.
Page 33Classification: Restricted
Object and Class in Java - Demo
A basic example of a class:
class Student1{
int id;//data member (also instance variable)
String name;//data member(also instance variable)
public static void main(String args[]){
Student1 s1=new Student1();//creating an object of Student
System.out.println(s1.id);
System.out.println(s1.name);
}
}
Page 34Classification: Restricted
Another Example of Objects and Classes in Java
class Student2{
int rollno;
String name;
void insertRecord(int r, String n){ //method
rollno=r;
name=n;
}
void displayInformation(){System.out.println(rollno+" "+name);}//method
public static void main(String args[]){
Student2 s1=new Student2();
Student2 s2=new Student2();
s1.insertRecord(111,"Karan");
s2.insertRecord(222,"Aryan");
s1.displayInformation();
s2.displayInformation();
}
}
Page 35Classification: Restricted
Topics to be covered in next session
• Deep dive into coding OOP with Java… with practical examples.
• How to create a class
• How to create objects
• How to create instance variables
• How to create class variables
• Constructors
Page 36Classification: Restricted
Thank You!

More Related Content

PPSX
Review Session and Attending Java Interviews
Hitesh-Java
 
PPSX
Elements of Java Language
Hitesh-Java
 
PPTX
Session 01 - Introduction to Java
PawanMM
 
PPTX
Session 02 - Elements of Java Language
PawanMM
 
PDF
Introduction to java and oop
baabtra.com - No. 1 supplier of quality freshers
 
PPSX
Short notes of oop with java
Mohamed Fathy
 
PPT
Presentation on java
shashi shekhar
 
PPT
Basic concepts of object oriented programming
Sachin Sharma
 
Review Session and Attending Java Interviews
Hitesh-Java
 
Elements of Java Language
Hitesh-Java
 
Session 01 - Introduction to Java
PawanMM
 
Session 02 - Elements of Java Language
PawanMM
 
Short notes of oop with java
Mohamed Fathy
 
Presentation on java
shashi shekhar
 
Basic concepts of object oriented programming
Sachin Sharma
 

What's hot (15)

PPTX
OOPs in Java
Ranjith Sekar
 
PPTX
Java object oriented programming concepts - Brainsmartlabs
brainsmartlabsedu
 
PPSX
OOPs with Java - Packaging and Access Modifiers
Hitesh-Java
 
KEY
Practical OOP In Java
wiradikusuma
 
PPT
Oop java
Minal Maniar
 
PPTX
java Basic Programming Needs
Raja Sekhar
 
PPT
OOP in Java
wiradikusuma
 
PPTX
Introduction to oop and java fundamentals
AnsgarMary
 
PPT
Object-oriented concepts
BG Java EE Course
 
PPT
Object Oriented Programming with Java
Jussi Pohjolainen
 
PPTX
Oop c++class(final).ppt
Alok Kumar
 
PPTX
OOPS in Java
Zeeshan Khan
 
PPTX
Introduction to OOP concepts
Ahmed Farag
 
PDF
OOPs Concepts - Android Programming
Purvik Rana
 
OOPs in Java
Ranjith Sekar
 
Java object oriented programming concepts - Brainsmartlabs
brainsmartlabsedu
 
OOPs with Java - Packaging and Access Modifiers
Hitesh-Java
 
Practical OOP In Java
wiradikusuma
 
Oop java
Minal Maniar
 
java Basic Programming Needs
Raja Sekhar
 
OOP in Java
wiradikusuma
 
Introduction to oop and java fundamentals
AnsgarMary
 
Object-oriented concepts
BG Java EE Course
 
Object Oriented Programming with Java
Jussi Pohjolainen
 
Oop c++class(final).ppt
Alok Kumar
 
OOPS in Java
Zeeshan Khan
 
Introduction to OOP concepts
Ahmed Farag
 
OOPs Concepts - Android Programming
Purvik Rana
 
Ad

Similar to Intro to Object Oriented Programming with Java (20)

PPTX
Session 07 - Intro to Object Oriented Programming with Java
PawanMM
 
PPTX
Characteristics of oop
Rasim Izhar Ali
 
PPT
Java Fundamentalojhgghjjjjhhgghhjjjjhhj.ppt
akashsachu221
 
DOC
C# by Zaheer Abbas Aghani
Information Technology Center
 
DOC
C# by Zaheer Abbas Aghani
Information Technology Center
 
PPSX
Core Java for Selenium
Rajathi-QA
 
PPT
Object -oriented analysis and design.ppt
pierrerj05
 
PPT
Overview of Object Oriented Programming using C++
jayanthi699330
 
PDF
Introduction to object oriented programming
Abzetdin Adamov
 
PPTX
Object oriented programming
Sandeep Karthikeyan
 
PDF
Introduction to Java Object Oiented Concepts and Basic terminologies
TabassumMaktum
 
PPTX
PHP OOP Lecture - 01.pptx
Atikur Rahman
 
PPT
Object oriented vs. object based programming
Mohammad Kamrul Hasan
 
PPTX
PPT_Object Oriented Programming (2).pptx
faizus786
 
PPTX
PPT_Object Oriented Programming .pptx
MDFARHAN3070
 
DOCX
javaopps concepts
Nikhil Agrawal
 
PPT
OO Development 4 - Object Concepts
Randy Connolly
 
PDF
Oops concepts
ACCESS Health Digital
 
DOCX
Java OOPs Concepts.docx
FredWauyo
 
PPT
OOP intro.ppt
NoreenNyauchiSarai1
 
Session 07 - Intro to Object Oriented Programming with Java
PawanMM
 
Characteristics of oop
Rasim Izhar Ali
 
Java Fundamentalojhgghjjjjhhgghhjjjjhhj.ppt
akashsachu221
 
C# by Zaheer Abbas Aghani
Information Technology Center
 
C# by Zaheer Abbas Aghani
Information Technology Center
 
Core Java for Selenium
Rajathi-QA
 
Object -oriented analysis and design.ppt
pierrerj05
 
Overview of Object Oriented Programming using C++
jayanthi699330
 
Introduction to object oriented programming
Abzetdin Adamov
 
Object oriented programming
Sandeep Karthikeyan
 
Introduction to Java Object Oiented Concepts and Basic terminologies
TabassumMaktum
 
PHP OOP Lecture - 01.pptx
Atikur Rahman
 
Object oriented vs. object based programming
Mohammad Kamrul Hasan
 
PPT_Object Oriented Programming (2).pptx
faizus786
 
PPT_Object Oriented Programming .pptx
MDFARHAN3070
 
javaopps concepts
Nikhil Agrawal
 
OO Development 4 - Object Concepts
Randy Connolly
 
Oops concepts
ACCESS Health Digital
 
Java OOPs Concepts.docx
FredWauyo
 
OOP intro.ppt
NoreenNyauchiSarai1
 
Ad

More from Hitesh-Java (20)

PPSX
Spring - Part 4 - Spring MVC
Hitesh-Java
 
PPSX
Spring - Part 3 - AOP
Hitesh-Java
 
PPSX
Spring - Part 2 - Autowiring, Annotations, Java based Configuration - slides
Hitesh-Java
 
PPSX
Spring - Part 1 - IoC, Di and Beans
Hitesh-Java
 
PPSX
JSP - Part 2 (Final)
Hitesh-Java
 
PPSX
JSP - Part 1
Hitesh-Java
 
PPSX
Struts 2 - Hibernate Integration
Hitesh-Java
 
PPSX
Struts 2 - Introduction
Hitesh-Java
 
PPSX
Hibernate - Part 2
Hitesh-Java
 
PPSX
Hibernate - Part 1
Hitesh-Java
 
PPSX
JDBC Part - 2
Hitesh-Java
 
PPSX
JDBC
Hitesh-Java
 
PPSX
Java IO, Serialization
Hitesh-Java
 
PPSX
Inner Classes
Hitesh-Java
 
PPSX
Collections - Maps
Hitesh-Java
 
PPSX
Review Session - Part -2
Hitesh-Java
 
PPSX
Collections - Lists, Sets
Hitesh-Java
 
PPSX
Collections - Sorting, Comparing Basics
Hitesh-Java
 
PPSX
Collections - Array List
Hitesh-Java
 
PPSX
Object Class
Hitesh-Java
 
Spring - Part 4 - Spring MVC
Hitesh-Java
 
Spring - Part 3 - AOP
Hitesh-Java
 
Spring - Part 2 - Autowiring, Annotations, Java based Configuration - slides
Hitesh-Java
 
Spring - Part 1 - IoC, Di and Beans
Hitesh-Java
 
JSP - Part 2 (Final)
Hitesh-Java
 
JSP - Part 1
Hitesh-Java
 
Struts 2 - Hibernate Integration
Hitesh-Java
 
Struts 2 - Introduction
Hitesh-Java
 
Hibernate - Part 2
Hitesh-Java
 
Hibernate - Part 1
Hitesh-Java
 
JDBC Part - 2
Hitesh-Java
 
Java IO, Serialization
Hitesh-Java
 
Inner Classes
Hitesh-Java
 
Collections - Maps
Hitesh-Java
 
Review Session - Part -2
Hitesh-Java
 
Collections - Lists, Sets
Hitesh-Java
 
Collections - Sorting, Comparing Basics
Hitesh-Java
 
Collections - Array List
Hitesh-Java
 
Object Class
Hitesh-Java
 

Recently uploaded (20)

PPTX
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
PDF
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
codernjn73
 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
PDF
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PDF
Software Development Methodologies in 2025
KodekX
 
PDF
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
PPTX
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
PDF
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
codernjn73
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
Software Development Methodologies in 2025
KodekX
 
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
cloud computing vai.pptx for the project
vaibhavdobariyal79
 
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 

Intro to Object Oriented Programming with Java

  • 1. Core Java Training Object Oriented Programming
  • 2. Page 1Classification: Restricted Agenda • Object Oriented Programming Concepts • Introduction to OO Analysis and Design
  • 3. Page 2Classification: Restricted Object Oriented Programming • Why OO programming? • What is OOAD? Why?
  • 5. Page 4Classification: Restricted 4 What kind of language can alleviate difficulties with communication & complexity hopefully well? Why Object-Oriented? “The "software crises" came about when people realized the major problems in software development were … caused by communication difficulties and the management of complexity” [Budd] The Whorfian Hypothesis: Human beings … are very much at the mercy of the particular language which has become the medium of expression for their society … the 'real world' is … built upon the language habits …   
  • 6. Page 5Classification: Restricted Why Object-Oriented? For conceptual.. Modelling reasons… What kind of language can be used to create this concept diagram, or Harry’s mental image? Harry’s mental image
  • 7. Page 6Classification: Restricted Why Object-Oriented? For conceptual.. Modelling reasons… What kind of language can be used to create this concept diagram, or Harry’s mental image? Harry’s mental image Model with Procedural language
  • 8. Page 7Classification: Restricted Why Object-Oriented? For conceptual.. Modelling reasons… What kind of language can be used to create this concept diagram, or Harry’s mental image? Water Rivers Oceans Fish Penguins Crocodiles Fresh water Salt water have have have live in have have Harry’s mental image Model with Object Oriented
  • 9. Page 8Classification: Restricted Why Object-Oriented? Why Model? • To understand why a software system is needed, what it should do, and how it should do it. • To communicate our understanding of why, what and how. • To detect commonalities and differences in your perception, my perception, his perception and her perception of reality. • To detect misunderstandings and miscommunications.
  • 10. Page 9Classification: Restricted Object Oriented Programming • Consists of classes and object. • Object communicates with each other by passing messages What is an object????
  • 11. Page 10Classification: Restricted Object States An Object has State and Behavior
  • 12. Page 11Classification: Restricted Objects • Objects have state and behavior State: What an object knows about itself Behavior :What an object can do. Object Name State = charecter stics Behaviou r: Dog State: Name Breed Height Weight Behavi our: eat() run() walk()
  • 13. Page 12Classification: Restricted Class • Class is Blue Print • Logical structure • Set of instructions given to JVM , how to create instance ( object ) out of it.
  • 14. Page 13Classification: Restricted Class • Class consists of • Member variables and member methods. • State/ characteristics is represented via member variables • Member methods defines the responsibility of the class • Data within object represents its state. • State - Member Variables • To: • Text: • Behavior – Member functions • sendSms • Forward • delete
  • 15. Page 14Classification: Restricted Messages To Text sendSms Forward cancel Messages1: Tom To : 123-456- 7896 Text : Hi Tom, sendSms Forward cancel Messages2: Jack To : 478-963- 7896 Text : Hi Jack sendSms Save Delete Class Object Tom Object Jack
  • 16. Page 15Classification: Restricted Contacts Name: Number email createContact updateContact deleteContact Contacts1: Tom Name: Tom Number : 456-789- 7895 Email :[email protected] createContact updateContact Contacts2: Jack Name: Jack Number 789-896- 8965 Email: [email protected] createContact updateContact
  • 17. Page 16Classification: Restricted Features of OOP: 4 pillars • Inheritance: When one object acquires all the properties and behaviours of parent object i.e. known as inheritance. It provides code reusability. • Polymorphism: When one task is performed by different ways i.e. known as polymorphism. For example: to convince the customer differently, to draw something, shape or rectangle etc. In Java, we use method overloading and method overriding to achieve polymorphism. • Abstraction: Hiding internal details and showing functionality. In Java, we use abstract class and interface to achieve abstraction. • Encapsulation: Binding (or wrapping) code and data together into a single unit is known as encapsulation. For example: capsule, it is wrapped with different medicines. A Java class is the example of encapsulation. Java bean is the fully encapsulated class because all the data members are private here.
  • 18. Page 17Classification: Restricted 17 Encapsulation a.k.a. information hiding Objects encapsulate: property behavior as a collection of methods invoked by messages …state as a collection of instance variables Abstraction Focus on the essential Omits tremendous amount of details …Focus on what an object “is and does” What is Object-Orientation - Abstraction and Encapsulation
  • 19. Page 18Classification: Restricted What is Object-Orientation - Subclass vs. Superclass / Inheritance • Specialization: The act of defining one class as a refinement of another. • Subclass: A class defined in terms of a specialization of a superclass using inheritance. • Superclass: A class serving as a base for inheritance in a class hierarchy • Inheritance: Automatic duplication of superclass attribute and behavior definitions in subclass. multiple inheritance? Person name SSN Student std-id level Employee emp-id age
  • 20. Page 19Classification: Restricted What is Object-Orientation - Polymorphism Objects of different classes respond to the same message differently.
  • 21. Page 20Classification: Restricted Advantages of Object Oriented Approach • Realistic Modelling
  • 22. Page 21Classification: Restricted Advantages of Object Oriented Programing • Realistic Modelling Bike String color; String model; Integer speed; Accelerate() Decelerate() Break()
  • 23. Page 22Classification: Restricted Advantages of Object Oriented Approach • Code Reusability Contacts1: Tom Name: Tom Number : 456- 789-7895 Email :[email protected] createContact updateContact deleteContact
  • 24. Page 23Classification: Restricted Advantages of Object Oriented Programing • Flexibility to change: WordAppV1 WordAppV2
  • 25. Page 24Classification: Restricted Advantages of Object Oriented • Modularity
  • 26. Java & JEE Training Object Oriented Analysis and Design
  • 27. Page 26Classification: Restricted Difference between Analysis and Design… • A basic system (or subsystem) SystemInput Output
  • 28. Page 27Classification: Restricted Difference between Analysis and Design… • Analysis • Design SystemInput ???? ????Input Output
  • 29. Page 28Classification: Restricted 28 What is OOAD? • Analysis — understanding, finding and describing concepts in the problem domain. • Design — understanding and defining software solution/objects that represent the analysis concepts and will eventually be implemented in code. • OOAD — Analysis is object-oriented and design is object-oriented. A software development approach that emphasizes a logical solution based on objects. Maintainability through Traceability!
  • 30. Page 29Classification: Restricted 29 Traceability => Maintainability Artificial problem Accidental design
  • 31. Page 30Classification: Restricted More later… • More practical examples of OOAD in later sessions… • Now let us start looking at Object Oriented Programming concepts using Java
  • 32. Java & JEE Training Object Oriented Programming with Java - Basic Class Demo
  • 33. Page 32Classification: Restricted Naming Conventions Name Convention class name should start with uppercase letter and be a noun e.g. String, Color, Button, System, Thread etc. interface name should start with uppercase letter and be an adjective e.g. Runnable, Remote, ActionListener etc. method name should start with lowercase letter and be a verb e.g. actionPerformed(), main(), print(), println() etc. variable name should start with lowercase letter e.g. firstName, orderNumber etc. package name should be in lowercase letter e.g. java, lang, sql, util etc. constants name should be in uppercase letter. e.g. RED, YELLOW, MAX_PRIORITY etc.
  • 34. Page 33Classification: Restricted Object and Class in Java - Demo A basic example of a class: class Student1{ int id;//data member (also instance variable) String name;//data member(also instance variable) public static void main(String args[]){ Student1 s1=new Student1();//creating an object of Student System.out.println(s1.id); System.out.println(s1.name); } }
  • 35. Page 34Classification: Restricted Another Example of Objects and Classes in Java class Student2{ int rollno; String name; void insertRecord(int r, String n){ //method rollno=r; name=n; } void displayInformation(){System.out.println(rollno+" "+name);}//method public static void main(String args[]){ Student2 s1=new Student2(); Student2 s2=new Student2(); s1.insertRecord(111,"Karan"); s2.insertRecord(222,"Aryan"); s1.displayInformation(); s2.displayInformation(); } }
  • 36. Page 35Classification: Restricted Topics to be covered in next session • Deep dive into coding OOP with Java… with practical examples. • How to create a class • How to create objects • How to create instance variables • How to create class variables • Constructors