SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Object Oriented
Programming with Java
www.jakir.me
mail@jakir.me
-with Jakir Hossain
Object-oriented
 An object-oriented language is one that is built around the concept of
objects.
 The basic unit of OOP is a class.
 Object-oriented languages allow us to define objects like Car or Mugs and
access their properties in our code.
 We can also send messages to objects, so for my mug I might want to know “Is
it empty?” We can then create and manipulate all sorts of objects to do
different things in our app.
 For example, we can use the Camera object to take a photo. The Camera
object represents the physical camera on an Android phone, but in a way that
we can interact with in code.
 Object can be vertual entity, like our fb account.
Class & Objects
 A Class is a blue print of a particular classification of Objects.
 An Object belongs to a Class of Objects
 An Object is an instrance of a Class.
For Example:
 myCar, khansCar are instances of a class, called Car
 myCat, khansDog are instance of a Class called, Animal.
Class
 class can be visualized as a three-compartment box, as illustrated:
1. Name (or identity): identifies the class.
2. Variables (or attribute, state, field): contains the static attributes of the class.
3. Methods (or behaviors, function, operation): contains the dynamic behaviors of the
class.
Object
 Objects are made up of attributes and methods.
 Objects have a lifespan but classes do not.
 An object is created from a class.
 Object has some Atributes
 Has some Oparation we can to those Atributes
 There are three steps when creating an object from a class:
1. Declaration: A variable declaration with a variable name with an object type.
2. Instantiation: The 'new' key word is used to create the object.
3. Initialization: The 'new' keyword is followed by a call to a constructor. This call
initializes the new object.
Naming Conventions
 Leading uppercase letter in class name
public class MyClass {
...
}
 Leading lowercase letter in field, local variable, and method (function) names
 myField, myVar, myMethod
Encapsulation
 Encapsulation means putting together all the variables (instance variables)
and the methods into a single unit called Class.
 It also means hiding data and methods within an Object.
 Encapsulation provides the security that keeps data and methods safe from
inadvertent changes.
 Programmers sometimes refer to encapsulation as using a “black box,” or a
device that you can use without regard to the internal mechanisms. A
programmer can access and use the methods and data contained in the black
box but cannot change them.
Inheritance
 An important feature of object-oriented programs is inheritance—the ability
to create classes that share the attributes and methods of existing classes,
but with more specific features.
 Inheritance is mainly used for code reusability. So you are making use of
already written class and further extending on that.
 We can tell that deriving a new class from existing class, it’s called as
Inheritance.
Inheritance
Polimorphism
 Polymorphism definition is that Poly means many and morphos means forms.
It describes the feature of languages that allows the same word or symbol to
be interpreted correctly in different situations based on the context.
Class Definition
 In Java, we use the keyword class to define a class. For examples:
 Creating Instances of a Class
public class Car{ // class name
int model; // variables
}
Car myCar =new Car();
Defining Methods (Functions Inside Classes)
 Basic method declaration:
public ReturnType methodName(type1 arg1,
type2 arg2, ...) {
...
return(something of ReturnType);
}
 Exception to this format: if you declare the return type as void
 This special syntax that means “this method isn’t going to return a value – it is just
going to do some side effect like printing on the screen”
 In such a case you do not need (in fact, are not permitted), a return statement
that includes a value to be returned
Class with Method
 Without Return Type:
 With Return Type:
public class Car{ // class name
int model; // variables
void printModel() { // Define Method
System.out.println(“Moedl is:”+model);
}
}
public class Car{ // class name
int model; // variables
Int getModel() { // Define Method
return model; // Return a value
}
}
Dot Operator
 The variables and methods belonging to a class are formally called member
variables and member methods. To reference a member variable or method,
we must:
1. first identify the instance you are interested in, and then
2. Use the dot operator (.) to reference the member (variable or method).
Full Example
// File: car.java
public class Car{ // class name
int model; // variables
void printModel(){ // Define Method
System.out.println("Moedl is: "+model);
}
}
// File: cardemo.java
public class CarDemo {
public static void main(String[] args) {
Car newCar = new Car(); // Instantiating Class
newCar.model = 2014; // Assigning Value
newCar.printModel(); // Calling the Method
}
}
Constructors
 Constructors are special functions called when a class is created with
new
 Constructors are especially useful for supplying values of fields
 Constructors are declared through:
public ClassName(args) {
...
}
 Notice that the constructor name must exactly match the class name
 Constructors have no return type (not even void), unlike a regular method
 Java automatically provides a zero-argument constructor if and only if the
class doesn’t define it’s own constructor
 That’s why you could say
Car myCar = new Car();
in the first example, even though a constructor was never defined
The this Variable
 Within an instance method or a constructor, this is a reference
to the current object — the object whose method or
constructor is being called.
 The common uses of the this reference are:
1. To pass a reference to the current object as a parameter to other
methods
someMethod(this);
2. To resolve name conflicts
 Using this permits the use of instance variables in methods that have
local variables with the same name
Full Example
// File: car.java
public class Car{ // class name
int model; // variables
Car(int model){ // Constractor
this.model = model;
}
void printModel(){ // Define Method
System.out.println("Moedl is: "+model);
}
}
// File: cardemo.java
public class CarDemo {
public static void main(String[] args) {
Car newCar = new Car(2014); // Instantiating Class
newCar.printModel(); // Calling the Method
}
}
Some Kye Points
 Class names should start with uppercase; method names with lowercase
 Methods must define a return type or void if no result is returned
 Static methods do not require an instance of the class; static methods can be accessed
through the class name
 The this reference in a class refers to the current object
 Class constructors do not declare a return type
 Override methods - redefine inherited methods
Questions?

Weitere ähnliche Inhalte

Was ist angesagt? (20)

Classes, objects in JAVA
Classes, objects in JAVAClasses, objects in JAVA
Classes, objects in JAVA
 
OOP in C# Classes and Objects.
OOP in C# Classes and Objects.OOP in C# Classes and Objects.
OOP in C# Classes and Objects.
 
Lect 1-class and object
Lect 1-class and objectLect 1-class and object
Lect 1-class and object
 
Pi j3.2 polymorphism
Pi j3.2 polymorphismPi j3.2 polymorphism
Pi j3.2 polymorphism
 
Java basics
Java basicsJava basics
Java basics
 
CLASS & OBJECT IN JAVA
CLASS & OBJECT  IN JAVACLASS & OBJECT  IN JAVA
CLASS & OBJECT IN JAVA
 
Chapter 3
Chapter 3Chapter 3
Chapter 3
 
Object Oriented Javascript part2
Object Oriented Javascript part2Object Oriented Javascript part2
Object Oriented Javascript part2
 
Classes, objects, methods, constructors, this keyword in java
Classes, objects, methods, constructors, this keyword  in javaClasses, objects, methods, constructors, this keyword  in java
Classes, objects, methods, constructors, this keyword in java
 
Variables in python
Variables in pythonVariables in python
Variables in python
 
Objects and Types C#
Objects and Types C#Objects and Types C#
Objects and Types C#
 
Oops
OopsOops
Oops
 
Classes2
Classes2Classes2
Classes2
 
Inheritance
InheritanceInheritance
Inheritance
 
C# classes objects
C#  classes objectsC#  classes objects
C# classes objects
 
Oops in java
Oops in javaOops in java
Oops in java
 
Object oriented javascript
Object oriented javascriptObject oriented javascript
Object oriented javascript
 
Java assignment help
Java assignment helpJava assignment help
Java assignment help
 
Object oriented programming in java
Object oriented programming in javaObject oriented programming in java
Object oriented programming in java
 
Classes and Objects in C#
Classes and Objects in C#Classes and Objects in C#
Classes and Objects in C#
 

Ähnlich wie Object Oriended Programming with Java

Application package
Application packageApplication package
Application packageJAYAARC
 
Question and answer Programming
Question and answer ProgrammingQuestion and answer Programming
Question and answer ProgrammingInocentshuja Ahmad
 
Introduction to OOP with PHP
Introduction to OOP with PHPIntroduction to OOP with PHP
Introduction to OOP with PHPMichael Peacock
 
Ap Power Point Chpt4
Ap Power Point Chpt4Ap Power Point Chpt4
Ap Power Point Chpt4dplunkett
 
packages and interfaces
packages and interfacespackages and interfaces
packages and interfacesmadhavi patil
 
OOPS IN PHP.pptx
OOPS IN PHP.pptxOOPS IN PHP.pptx
OOPS IN PHP.pptxrani marri
 
A350103
A350103A350103
A350103aijbm
 
Is2215 lecture2 student(2)
Is2215 lecture2 student(2)Is2215 lecture2 student(2)
Is2215 lecture2 student(2)dannygriff1
 
Lecture13 abap on line
Lecture13 abap on lineLecture13 abap on line
Lecture13 abap on lineMilind Patil
 
Access Modifiers in C# ,Inheritance and Encapsulation
Access Modifiers in C# ,Inheritance and EncapsulationAccess Modifiers in C# ,Inheritance and Encapsulation
Access Modifiers in C# ,Inheritance and EncapsulationAbid Kohistani
 
Csharp4 objects and_types
Csharp4 objects and_typesCsharp4 objects and_types
Csharp4 objects and_typesAbed Bukhari
 
object oriented programing lecture 1
object oriented programing lecture 1object oriented programing lecture 1
object oriented programing lecture 1Geophery sanga
 

Ähnlich wie Object Oriended Programming with Java (20)

Application package
Application packageApplication package
Application package
 
Question and answer Programming
Question and answer ProgrammingQuestion and answer Programming
Question and answer Programming
 
OOP and C++Classes
OOP and C++ClassesOOP and C++Classes
OOP and C++Classes
 
Introduction to OOP with PHP
Introduction to OOP with PHPIntroduction to OOP with PHP
Introduction to OOP with PHP
 
Ch-2ppt.pptx
Ch-2ppt.pptxCh-2ppt.pptx
Ch-2ppt.pptx
 
Java oop concepts
Java oop conceptsJava oop concepts
Java oop concepts
 
Ap Power Point Chpt4
Ap Power Point Chpt4Ap Power Point Chpt4
Ap Power Point Chpt4
 
packages and interfaces
packages and interfacespackages and interfaces
packages and interfaces
 
OOPS IN PHP.pptx
OOPS IN PHP.pptxOOPS IN PHP.pptx
OOPS IN PHP.pptx
 
A350103
A350103A350103
A350103
 
Delphi qa
Delphi qaDelphi qa
Delphi qa
 
Is2215 lecture2 student(2)
Is2215 lecture2 student(2)Is2215 lecture2 student(2)
Is2215 lecture2 student(2)
 
Lecture 5
Lecture 5Lecture 5
Lecture 5
 
Oops
OopsOops
Oops
 
Lecture13 abap on line
Lecture13 abap on lineLecture13 abap on line
Lecture13 abap on line
 
Lecture 4. mte 407
Lecture 4. mte 407Lecture 4. mte 407
Lecture 4. mte 407
 
Reflection
ReflectionReflection
Reflection
 
Access Modifiers in C# ,Inheritance and Encapsulation
Access Modifiers in C# ,Inheritance and EncapsulationAccess Modifiers in C# ,Inheritance and Encapsulation
Access Modifiers in C# ,Inheritance and Encapsulation
 
Csharp4 objects and_types
Csharp4 objects and_typesCsharp4 objects and_types
Csharp4 objects and_types
 
object oriented programing lecture 1
object oriented programing lecture 1object oriented programing lecture 1
object oriented programing lecture 1
 

Kürzlich hochgeladen

Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...Stork
 
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTFUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTSneha Padhiar
 
Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfDrew Moseley
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxRomil Mishra
 
Prach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism CommunityPrach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism Communityprachaibot
 
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHTEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHSneha Padhiar
 
signals in triangulation .. ...Surveying
signals in triangulation .. ...Surveyingsignals in triangulation .. ...Surveying
signals in triangulation .. ...Surveyingsapna80328
 
List of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdfList of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdfisabel213075
 
Artificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewArtificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewsandhya757531
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substationstephanwindworld
 
Ch10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdfCh10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdfChristianCDAM
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catcherssdickerson1
 
Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Romil Mishra
 
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMSHigh Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMSsandhya757531
 
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTESCME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTESkarthi keyan
 
Turn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptxTurn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptxStephen Sitton
 
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Erbil Polytechnic University
 
Robotics Group 10 (Control Schemes) cse.pdf
Robotics Group 10  (Control Schemes) cse.pdfRobotics Group 10  (Control Schemes) cse.pdf
Robotics Group 10 (Control Schemes) cse.pdfsahilsajad201
 
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfModule-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfManish Kumar
 
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.pptROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.pptJohnWilliam111370
 

Kürzlich hochgeladen (20)

Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
 
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTFUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
 
Immutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdfImmutable Image-Based Operating Systems - EW2024.pdf
Immutable Image-Based Operating Systems - EW2024.pdf
 
Mine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptxMine Environment II Lab_MI10448MI__________.pptx
Mine Environment II Lab_MI10448MI__________.pptx
 
Prach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism CommunityPrach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism Community
 
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHTEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
 
signals in triangulation .. ...Surveying
signals in triangulation .. ...Surveyingsignals in triangulation .. ...Surveying
signals in triangulation .. ...Surveying
 
List of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdfList of Accredited Concrete Batching Plant.pdf
List of Accredited Concrete Batching Plant.pdf
 
Artificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewArtificial Intelligence in Power System overview
Artificial Intelligence in Power System overview
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substation
 
Ch10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdfCh10-Global Supply Chain - Cadena de Suministro.pdf
Ch10-Global Supply Chain - Cadena de Suministro.pdf
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
 
Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________Gravity concentration_MI20612MI_________
Gravity concentration_MI20612MI_________
 
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMSHigh Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
High Voltage Engineering- OVER VOLTAGES IN ELECTRICAL POWER SYSTEMS
 
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTESCME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
 
Turn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptxTurn leadership mistakes into a better future.pptx
Turn leadership mistakes into a better future.pptx
 
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
 
Robotics Group 10 (Control Schemes) cse.pdf
Robotics Group 10  (Control Schemes) cse.pdfRobotics Group 10  (Control Schemes) cse.pdf
Robotics Group 10 (Control Schemes) cse.pdf
 
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdfModule-1-(Building Acoustics) Noise Control (Unit-3). pdf
Module-1-(Building Acoustics) Noise Control (Unit-3). pdf
 
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.pptROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
ROBOETHICS-CCS345 ETHICS AND ARTIFICIAL INTELLIGENCE.ppt
 

Object Oriended Programming with Java

  • 1. Object Oriented Programming with Java www.jakir.me mail@jakir.me -with Jakir Hossain
  • 2. Object-oriented  An object-oriented language is one that is built around the concept of objects.  The basic unit of OOP is a class.  Object-oriented languages allow us to define objects like Car or Mugs and access their properties in our code.  We can also send messages to objects, so for my mug I might want to know “Is it empty?” We can then create and manipulate all sorts of objects to do different things in our app.  For example, we can use the Camera object to take a photo. The Camera object represents the physical camera on an Android phone, but in a way that we can interact with in code.  Object can be vertual entity, like our fb account.
  • 3. Class & Objects  A Class is a blue print of a particular classification of Objects.  An Object belongs to a Class of Objects  An Object is an instrance of a Class. For Example:  myCar, khansCar are instances of a class, called Car  myCat, khansDog are instance of a Class called, Animal.
  • 4. Class  class can be visualized as a three-compartment box, as illustrated: 1. Name (or identity): identifies the class. 2. Variables (or attribute, state, field): contains the static attributes of the class. 3. Methods (or behaviors, function, operation): contains the dynamic behaviors of the class.
  • 5. Object  Objects are made up of attributes and methods.  Objects have a lifespan but classes do not.  An object is created from a class.  Object has some Atributes  Has some Oparation we can to those Atributes  There are three steps when creating an object from a class: 1. Declaration: A variable declaration with a variable name with an object type. 2. Instantiation: The 'new' key word is used to create the object. 3. Initialization: The 'new' keyword is followed by a call to a constructor. This call initializes the new object.
  • 6.
  • 7. Naming Conventions  Leading uppercase letter in class name public class MyClass { ... }  Leading lowercase letter in field, local variable, and method (function) names  myField, myVar, myMethod
  • 8. Encapsulation  Encapsulation means putting together all the variables (instance variables) and the methods into a single unit called Class.  It also means hiding data and methods within an Object.  Encapsulation provides the security that keeps data and methods safe from inadvertent changes.  Programmers sometimes refer to encapsulation as using a “black box,” or a device that you can use without regard to the internal mechanisms. A programmer can access and use the methods and data contained in the black box but cannot change them.
  • 9. Inheritance  An important feature of object-oriented programs is inheritance—the ability to create classes that share the attributes and methods of existing classes, but with more specific features.  Inheritance is mainly used for code reusability. So you are making use of already written class and further extending on that.  We can tell that deriving a new class from existing class, it’s called as Inheritance.
  • 11. Polimorphism  Polymorphism definition is that Poly means many and morphos means forms. It describes the feature of languages that allows the same word or symbol to be interpreted correctly in different situations based on the context.
  • 12. Class Definition  In Java, we use the keyword class to define a class. For examples:  Creating Instances of a Class public class Car{ // class name int model; // variables } Car myCar =new Car();
  • 13. Defining Methods (Functions Inside Classes)  Basic method declaration: public ReturnType methodName(type1 arg1, type2 arg2, ...) { ... return(something of ReturnType); }  Exception to this format: if you declare the return type as void  This special syntax that means “this method isn’t going to return a value – it is just going to do some side effect like printing on the screen”  In such a case you do not need (in fact, are not permitted), a return statement that includes a value to be returned
  • 14. Class with Method  Without Return Type:  With Return Type: public class Car{ // class name int model; // variables void printModel() { // Define Method System.out.println(“Moedl is:”+model); } } public class Car{ // class name int model; // variables Int getModel() { // Define Method return model; // Return a value } }
  • 15. Dot Operator  The variables and methods belonging to a class are formally called member variables and member methods. To reference a member variable or method, we must: 1. first identify the instance you are interested in, and then 2. Use the dot operator (.) to reference the member (variable or method).
  • 16. Full Example // File: car.java public class Car{ // class name int model; // variables void printModel(){ // Define Method System.out.println("Moedl is: "+model); } } // File: cardemo.java public class CarDemo { public static void main(String[] args) { Car newCar = new Car(); // Instantiating Class newCar.model = 2014; // Assigning Value newCar.printModel(); // Calling the Method } }
  • 17. Constructors  Constructors are special functions called when a class is created with new  Constructors are especially useful for supplying values of fields  Constructors are declared through: public ClassName(args) { ... }  Notice that the constructor name must exactly match the class name  Constructors have no return type (not even void), unlike a regular method  Java automatically provides a zero-argument constructor if and only if the class doesn’t define it’s own constructor  That’s why you could say Car myCar = new Car(); in the first example, even though a constructor was never defined
  • 18. The this Variable  Within an instance method or a constructor, this is a reference to the current object — the object whose method or constructor is being called.  The common uses of the this reference are: 1. To pass a reference to the current object as a parameter to other methods someMethod(this); 2. To resolve name conflicts  Using this permits the use of instance variables in methods that have local variables with the same name
  • 19. Full Example // File: car.java public class Car{ // class name int model; // variables Car(int model){ // Constractor this.model = model; } void printModel(){ // Define Method System.out.println("Moedl is: "+model); } } // File: cardemo.java public class CarDemo { public static void main(String[] args) { Car newCar = new Car(2014); // Instantiating Class newCar.printModel(); // Calling the Method } }
  • 20. Some Kye Points  Class names should start with uppercase; method names with lowercase  Methods must define a return type or void if no result is returned  Static methods do not require an instance of the class; static methods can be accessed through the class name  The this reference in a class refers to the current object  Class constructors do not declare a return type  Override methods - redefine inherited methods