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!

Intro to Object Oriented Programming with Java

  • 1.
    Core Java Training ObjectOriented Programming
  • 2.
    Page 1Classification: Restricted Agenda •Object Oriented Programming Concepts • Introduction to OO Analysis and Design
  • 3.
    Page 2Classification: Restricted ObjectOriented Programming • Why OO programming? • What is OOAD? Why?
  • 4.
  • 5.
    Page 4Classification: Restricted 4 Whatkind 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 WhyObject-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 WhyObject-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 WhyObject-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 WhyObject-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 ObjectOriented Programming • Consists of classes and object. • Object communicates with each other by passing messages What is an object????
  • 11.
    Page 10Classification: Restricted ObjectStates 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 :tom@gmail.com createContact updateContact Contacts2: Jack Name: Jack Number 789-896- 8965 Email: jack@gmail.com createContact updateContact
  • 17.
    Page 16Classification: Restricted Featuresof 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 Whatis 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 Whatis Object-Orientation - Polymorphism Objects of different classes respond to the same message differently.
  • 21.
    Page 20Classification: Restricted Advantagesof Object Oriented Approach • Realistic Modelling
  • 22.
    Page 21Classification: Restricted Advantagesof Object Oriented Programing • Realistic Modelling Bike String color; String model; Integer speed; Accelerate() Decelerate() Break()
  • 23.
    Page 22Classification: Restricted Advantagesof Object Oriented Approach • Code Reusability Contacts1: Tom Name: Tom Number : 456- 789-7895 Email :tom@gmail.com createContact updateContact deleteContact
  • 24.
    Page 23Classification: Restricted Advantagesof Object Oriented Programing • Flexibility to change: WordAppV1 WordAppV2
  • 25.
    Page 24Classification: Restricted Advantagesof Object Oriented • Modularity
  • 26.
    Java & JEETraining Object Oriented Analysis and Design
  • 27.
    Page 26Classification: Restricted Differencebetween Analysis and Design… • A basic system (or subsystem) SystemInput Output
  • 28.
    Page 27Classification: Restricted Differencebetween Analysis and Design… • Analysis • Design SystemInput ???? ????Input Output
  • 29.
    Page 28Classification: Restricted 28 Whatis 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 Morelater… • More practical examples of OOAD in later sessions… • Now let us start looking at Object Oriented Programming concepts using Java
  • 32.
    Java & JEETraining Object Oriented Programming with Java - Basic Class Demo
  • 33.
    Page 32Classification: Restricted NamingConventions 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 Objectand 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 AnotherExample 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 Topicsto 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
  • 37.