SlideShare a Scribd company logo
1
User Defined Class
Syntax: Defining Class
 General syntax for defining a class is:
modifieropt class ClassIdentifier
{
classMembers:
data declarations
methods definitions
}
 Where
modifier(s) are used to alter the behavior
of the class
classMembers consist of data declarations
and/or methods definitions.
2
Class Definition
 A class can contain data declarations and method
declarations
3
int size, weight;
char category;
Data declarations
Method declarations
UML Design Specification
4
UML Class Diagram
Class Name
What data does it need?
What behaviors
will it perform?
Public
methods
Hidden
information
Instance variables -- memory locations
used for storing the information needed.
Methods -- blocks of code used to
perform a specific task.
Class Definition: An Example
 public class Rectangle
 {
// data declarations
 private double length;
 private double width;
 //methods definitions
 public Rectangle(double l, double w) // Constructor method
 {
 length = l;
 width = w;
 } // Rectangle constructor
 public double calculateArea()
 {
 return length * width;
 } // calculateArea
 } // Rectangle class
5
Method Definition
 Example
6
 The Method Header
modifieropt ResultType MethodName (Formal ParameterList )
public static void main (String argv[ ] )
public void deposit (double amount)
public double calculateArea ( )
public void MethodName() // Method Header
{ // Start of method body
} // End of method body
Method Header
 A method declaration begins with a method header
7
int add (int num1, int num2)
method
name
return
type
Formal parameter list
The parameter list specifies the type
and name of each parameter
The name of a parameter in the method
declaration is called a formal parameter
Method Body
 The method header is followed by the method body
8
int add (int num1, int num2)
{
int sum = num1 + num2;
return sum;
}
The return expression
must be consistent with
the return type
sum is local data
Local data are
created each time
the method is called,
and are destroyed
when it finishes
executing
User-Defined Methods
 Methods can return zero or one value
Value-returning methods
○ Methods that have a return type
Void methods
○ Methods that do not have a return type
9
calculateArea Method.
public double calculateArea()
{
double area;
area = length * width;
return area;
}
10
Return statement
 Value-returning method uses a return
statement to return its value; it passes a
value outside the method.
 Syntax:return statement
return expr;
 Where expr can be:
Variable, constant value or expression
11
User-Defined Methods
 Methods can have zero or >= 1
parameters
No parameters
○ Nothing inside bracket in method header
1 or more parameters
○ List the paramater/s inside bracket
12
Method Parameters
- as input/s to a method
public class Rectangle
{
. . .
public void setWidth(double w)
{
width = w;
}
public void setLength(double l)
{
length = l;
}
. . .
}
13
Syntax: Formal Parameter List
(dataType identifier, dataType identifier....)
14
Note: it can be one or more dataType
Eg.
setWidth( double w )
int add (int num1, int num2)
Creating Rectangle Instances
 Create, or instantiate, two instances of the Rectangle
class:
15
The objects (instances)
store actual values.
Rectangle rectangle1 = new Rectangle(30,10);
Rectangle rectangle2 = new Rectangle(25, 20);
Using Rectangle Instances
 We use a method call to ask each object
to tell us its area:
16
rectangle1 area 300
rectangle2 area 500Printed output:
System.out.println("rectangle1 area " + rectangle1.calculateArea());
System.out.println("rectangle2 area " + rectangle2.calculateArea());
References to
objects
Method calls
Syntax : Object Construction
 new ClassName(parameters);
Example:
 new Rectangle(30, 20);
 new Car("BMW 540ti", 2004);
Purpose:
 To construct a new object, initialize it with
the construction parameters, and return a
reference to the constructed object.
17
The RectangleUser Class
Definition
public class RectangleUser
{
public static void main(String argv[])
{
Rectangle rectangle1 = new Rectangle(30,10);
Rectangle rectangle2 = new Rectangle(25,20);
System.out.println("rectangle1 area " +
rectangle1.calculateArea());
System.out.println("rectangle2 area " +
rectangle2.calculateArea());
} // main()
} // RectangleUser
18
An application must
have a main() method
Object
Use
Object
Creation
Class
Definition
Method Call
 Syntax to call a method
methodName(actual parameter list);
Eg.
segi4.setWidth(20.5);
obj.add (25, count);
19
Formal vs Actual Parameters
 When a method is called, the actual parameters in the
invocation are copied into the formal parameters in
the method header
20
int add (int num1, int num2)
{
int sum = num1 + num2;
return sum;
}
total = obj.add(25, count);
 public class RectangleUser
 {
 public static void main(String argv[])
 {
 Rectangle rectangle1 = new Rectangle(30.0,10.0);

 System.out.println("rectangle1 area " +
 rectangle1.calculateArea());
rectangle1.setWidth(20.0);
 System.out.println("rectangle1 area " +
 rectangle1.calculateArea());
 }
 }
21
Formal vs Actual Parameters
Method Overloading
 In Java, within a class, several methods
can have the same name. We called
method overloading
 Two methods are said to have different
formal parameter lists:
If both methods have a different
number of formal parameters
If the number of formal
parameters is the same in both
methods, the data type of the
formal parameters in the order we
list must differ in at least one
position 22
Method Overloading
 Example:
public void methodABC()
public void methodABC(int x)
public void methodABC(int x, double
y)
public void methodABC(double x, int
y)
public void methodABC(char x, double
y)
public void methodABC(String x,int y)
23
Java code for overloading
 public class Exam
 {
 public static void main (String [] args)
 {
 int test1=75, test2=68, total_test1, total_test2;
 Exam midsem=new Exam();
 total_test1 = midsem.result(test1);
 System.out.println("Total test 1 : "+ total_test1);
 total_test2 = midsem.result(test1,test2);
 System.out.println("Total test 2 : "+ total_test2);
 }
 int result (int i)
 {
 return i++;
 }

 int result (int i, int j)
 {
 return ++i + j;
 }
 }
24
 Output
Total test 1 : 75
Total test 2 : 144
25
Constructors Revisited
 Properties of constructors:
Name of constructor same as the name of class
A constructor,even though it is a method, it has no
type
Constructors are automatically executed when a
class object is instantiated
A class can have more than one constructors –
“constructor overloading”
○ which constructor executes depends on the type of
value passed to the constructor when the object is
instantiated
26
Java code (constructor
overloading)
public class Student
{ String name;
int age;
Student(String n, int a)
{ name = n; age = a;
System.out.println ("Name1 :" + name);
System.out.println ("Age1 :" + age);
}
Student(String n)
{
name = n; age = 18;
System.out.println ("Name2 :" + name);
System.out.println ("Age2 :" + age);
}
public static void main (String args[])
{
Student myStudent1=new Student("Adam",22);
Student myStudent2=new Student("Adlin");
}
} 27
28
Output:
Name1 :Adam
Age1 :22
Name2 :Adlin
Age2 :18
Object Methods & Class
Methods
 Object/Instance methods belong to
objects and can only be applied after the
objects are created.
 They called by the following :
objectName.methodName();
 Class can have its own methods known
as class methods or static methods
29
Static Methods
 Java supports static methods as well as static variables.
 Static Method:-
 Belongs to class (NOT to objects created from the class)
 Can be called without creating an object/instance of the
class
 To define a static method, put the modifier static in the
method declaration:
 Static methods are called by :
ClassName.methodName();
30
Java Code (static method)
public class Fish
{
public static void main (String args[])
{
System.out.println ("Flower Horn");
Fish.colour();
}
static void colour ()
{
System.out.println ("Beautiful Colour");
}
}
31
32
Output:
Flower Horn
Beautiful Colour

More Related Content

PDF
Methods and constructors
PDF
Strings in java
PPTX
Functions in c
PDF
Java arrays
PDF
Set methods in python
PPTX
Polymorphism in java
PPTX
PPTX
Polymorphism In c++
Methods and constructors
Strings in java
Functions in c
Java arrays
Set methods in python
Polymorphism in java
Polymorphism In c++

What's hot (20)

PPTX
Virtual base class
PPSX
Data Types & Variables in JAVA
PPTX
Two-dimensional array in java
PPTX
Java Constructor
PPTX
6. static keyword
PPTX
Classes objects in java
PPT
Abstract class in java
PPTX
Static keyword ppt
PPT
Thread model in java
PPTX
Java Strings
PPTX
I/O Streams
PPTX
This keyword in java
PPTX
Java swing
PPS
Wrapper class
PPTX
Packages in java
PPTX
Constructor in java
PDF
Arrays in Java
PDF
Python programming : Strings
PPTX
Java awt (abstract window toolkit)
PDF
Python Functions Tutorial | Working With Functions In Python | Python Trainin...
Virtual base class
Data Types & Variables in JAVA
Two-dimensional array in java
Java Constructor
6. static keyword
Classes objects in java
Abstract class in java
Static keyword ppt
Thread model in java
Java Strings
I/O Streams
This keyword in java
Java swing
Wrapper class
Packages in java
Constructor in java
Arrays in Java
Python programming : Strings
Java awt (abstract window toolkit)
Python Functions Tutorial | Working With Functions In Python | Python Trainin...
Ad

Similar to Class & Object - User Defined Method (20)

PPTX
Chapter 6.6
PPT
Class & Object - Intro
PPT
Explain Classes and methods in java (ch04).ppt
PPTX
Chap-2 Classes & Methods.pptx
PPTX
Basic concept of class, method , command line-argument
PPTX
Pi j2.2 classes
PPTX
Java Foundations: Methods
PPTX
CJP Unit-1 contd.pptx
PPT
Unit 1 Part - 3 constructor Overloading Static.ppt
PPTX
Lecture 5
PPTX
class object.pptx
PPT
Class & Objects in JAVA.ppt
PPTX
Java Basics
PPT
Core Java unit no. 1 object and class ppt
PPTX
Java method
PDF
CIS 1403 lab 3 functions and methods in Java
PPTX
IntroductionJava Programming - Math Class
PPTX
OOPSCA1.pptx
PDF
Session 3 Constructors, Types, Overloading, Static MethodsNotes.pdf
Chapter 6.6
Class & Object - Intro
Explain Classes and methods in java (ch04).ppt
Chap-2 Classes & Methods.pptx
Basic concept of class, method , command line-argument
Pi j2.2 classes
Java Foundations: Methods
CJP Unit-1 contd.pptx
Unit 1 Part - 3 constructor Overloading Static.ppt
Lecture 5
class object.pptx
Class & Objects in JAVA.ppt
Java Basics
Core Java unit no. 1 object and class ppt
Java method
CIS 1403 lab 3 functions and methods in Java
IntroductionJava Programming - Math Class
OOPSCA1.pptx
Session 3 Constructors, Types, Overloading, Static MethodsNotes.pdf
Ad

More from PRN USM (18)

PPT
Graphical User Interface (GUI) - 2
PPT
Graphical User Interface (GUI) - 1
PPT
File Input & Output
PPT
Exception Handling
PPT
Inheritance & Polymorphism - 2
PPT
Inheritance & Polymorphism - 1
PPT
Array
PPT
Repetition Structure
PPT
Selection Control Structures
PPT
Numerical Data And Expression
PPT
Introduction To Computer and Java
PPS
Corporate Social Responsibility And Challenges In Creating Smoke Free Environ...
PPS
Empowering Women Towards Smokefree Homes
PPS
Sfe The Singaporean Experience
PPS
Corporate Social Responsibility And Challenges In Creating Smoke Free Environ...
PPS
Malaysian Health Promotion Board (Mhpb) Objectives, Functions And Priorities
PPS
Role Of Ng Os In Tobacco Control
PPS
Application Of Grants From Mhpb
Graphical User Interface (GUI) - 2
Graphical User Interface (GUI) - 1
File Input & Output
Exception Handling
Inheritance & Polymorphism - 2
Inheritance & Polymorphism - 1
Array
Repetition Structure
Selection Control Structures
Numerical Data And Expression
Introduction To Computer and Java
Corporate Social Responsibility And Challenges In Creating Smoke Free Environ...
Empowering Women Towards Smokefree Homes
Sfe The Singaporean Experience
Corporate Social Responsibility And Challenges In Creating Smoke Free Environ...
Malaysian Health Promotion Board (Mhpb) Objectives, Functions And Priorities
Role Of Ng Os In Tobacco Control
Application Of Grants From Mhpb

Recently uploaded (20)

PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
Microbial disease of the cardiovascular and lymphatic systems
PDF
O7-L3 Supply Chain Operations - ICLT Program
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PPTX
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PPTX
Cell Structure & Organelles in detailed.
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PPTX
Cell Types and Its function , kingdom of life
PDF
Basic Mud Logging Guide for educational purpose
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PDF
VCE English Exam - Section C Student Revision Booklet
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
Renaissance Architecture: A Journey from Faith to Humanism
PPH.pptx obstetrics and gynecology in nursing
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Final Presentation General Medicine 03-08-2024.pptx
Microbial disease of the cardiovascular and lymphatic systems
O7-L3 Supply Chain Operations - ICLT Program
Supply Chain Operations Speaking Notes -ICLT Program
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
FourierSeries-QuestionsWithAnswers(Part-A).pdf
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
Pharmacology of Heart Failure /Pharmacotherapy of CHF
Cell Structure & Organelles in detailed.
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
Cell Types and Its function , kingdom of life
Basic Mud Logging Guide for educational purpose
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
VCE English Exam - Section C Student Revision Booklet
2.FourierTransform-ShortQuestionswithAnswers.pdf

Class & Object - User Defined Method

  • 2. Syntax: Defining Class  General syntax for defining a class is: modifieropt class ClassIdentifier { classMembers: data declarations methods definitions }  Where modifier(s) are used to alter the behavior of the class classMembers consist of data declarations and/or methods definitions. 2
  • 3. Class Definition  A class can contain data declarations and method declarations 3 int size, weight; char category; Data declarations Method declarations
  • 4. UML Design Specification 4 UML Class Diagram Class Name What data does it need? What behaviors will it perform? Public methods Hidden information Instance variables -- memory locations used for storing the information needed. Methods -- blocks of code used to perform a specific task.
  • 5. Class Definition: An Example  public class Rectangle  { // data declarations  private double length;  private double width;  //methods definitions  public Rectangle(double l, double w) // Constructor method  {  length = l;  width = w;  } // Rectangle constructor  public double calculateArea()  {  return length * width;  } // calculateArea  } // Rectangle class 5
  • 6. Method Definition  Example 6  The Method Header modifieropt ResultType MethodName (Formal ParameterList ) public static void main (String argv[ ] ) public void deposit (double amount) public double calculateArea ( ) public void MethodName() // Method Header { // Start of method body } // End of method body
  • 7. Method Header  A method declaration begins with a method header 7 int add (int num1, int num2) method name return type Formal parameter list The parameter list specifies the type and name of each parameter The name of a parameter in the method declaration is called a formal parameter
  • 8. Method Body  The method header is followed by the method body 8 int add (int num1, int num2) { int sum = num1 + num2; return sum; } The return expression must be consistent with the return type sum is local data Local data are created each time the method is called, and are destroyed when it finishes executing
  • 9. User-Defined Methods  Methods can return zero or one value Value-returning methods ○ Methods that have a return type Void methods ○ Methods that do not have a return type 9
  • 10. calculateArea Method. public double calculateArea() { double area; area = length * width; return area; } 10
  • 11. Return statement  Value-returning method uses a return statement to return its value; it passes a value outside the method.  Syntax:return statement return expr;  Where expr can be: Variable, constant value or expression 11
  • 12. User-Defined Methods  Methods can have zero or >= 1 parameters No parameters ○ Nothing inside bracket in method header 1 or more parameters ○ List the paramater/s inside bracket 12
  • 13. Method Parameters - as input/s to a method public class Rectangle { . . . public void setWidth(double w) { width = w; } public void setLength(double l) { length = l; } . . . } 13
  • 14. Syntax: Formal Parameter List (dataType identifier, dataType identifier....) 14 Note: it can be one or more dataType Eg. setWidth( double w ) int add (int num1, int num2)
  • 15. Creating Rectangle Instances  Create, or instantiate, two instances of the Rectangle class: 15 The objects (instances) store actual values. Rectangle rectangle1 = new Rectangle(30,10); Rectangle rectangle2 = new Rectangle(25, 20);
  • 16. Using Rectangle Instances  We use a method call to ask each object to tell us its area: 16 rectangle1 area 300 rectangle2 area 500Printed output: System.out.println("rectangle1 area " + rectangle1.calculateArea()); System.out.println("rectangle2 area " + rectangle2.calculateArea()); References to objects Method calls
  • 17. Syntax : Object Construction  new ClassName(parameters); Example:  new Rectangle(30, 20);  new Car("BMW 540ti", 2004); Purpose:  To construct a new object, initialize it with the construction parameters, and return a reference to the constructed object. 17
  • 18. The RectangleUser Class Definition public class RectangleUser { public static void main(String argv[]) { Rectangle rectangle1 = new Rectangle(30,10); Rectangle rectangle2 = new Rectangle(25,20); System.out.println("rectangle1 area " + rectangle1.calculateArea()); System.out.println("rectangle2 area " + rectangle2.calculateArea()); } // main() } // RectangleUser 18 An application must have a main() method Object Use Object Creation Class Definition
  • 19. Method Call  Syntax to call a method methodName(actual parameter list); Eg. segi4.setWidth(20.5); obj.add (25, count); 19
  • 20. Formal vs Actual Parameters  When a method is called, the actual parameters in the invocation are copied into the formal parameters in the method header 20 int add (int num1, int num2) { int sum = num1 + num2; return sum; } total = obj.add(25, count);
  • 21.  public class RectangleUser  {  public static void main(String argv[])  {  Rectangle rectangle1 = new Rectangle(30.0,10.0);   System.out.println("rectangle1 area " +  rectangle1.calculateArea()); rectangle1.setWidth(20.0);  System.out.println("rectangle1 area " +  rectangle1.calculateArea());  }  } 21 Formal vs Actual Parameters
  • 22. Method Overloading  In Java, within a class, several methods can have the same name. We called method overloading  Two methods are said to have different formal parameter lists: If both methods have a different number of formal parameters If the number of formal parameters is the same in both methods, the data type of the formal parameters in the order we list must differ in at least one position 22
  • 23. Method Overloading  Example: public void methodABC() public void methodABC(int x) public void methodABC(int x, double y) public void methodABC(double x, int y) public void methodABC(char x, double y) public void methodABC(String x,int y) 23
  • 24. Java code for overloading  public class Exam  {  public static void main (String [] args)  {  int test1=75, test2=68, total_test1, total_test2;  Exam midsem=new Exam();  total_test1 = midsem.result(test1);  System.out.println("Total test 1 : "+ total_test1);  total_test2 = midsem.result(test1,test2);  System.out.println("Total test 2 : "+ total_test2);  }  int result (int i)  {  return i++;  }   int result (int i, int j)  {  return ++i + j;  }  } 24
  • 25.  Output Total test 1 : 75 Total test 2 : 144 25
  • 26. Constructors Revisited  Properties of constructors: Name of constructor same as the name of class A constructor,even though it is a method, it has no type Constructors are automatically executed when a class object is instantiated A class can have more than one constructors – “constructor overloading” ○ which constructor executes depends on the type of value passed to the constructor when the object is instantiated 26
  • 27. Java code (constructor overloading) public class Student { String name; int age; Student(String n, int a) { name = n; age = a; System.out.println ("Name1 :" + name); System.out.println ("Age1 :" + age); } Student(String n) { name = n; age = 18; System.out.println ("Name2 :" + name); System.out.println ("Age2 :" + age); } public static void main (String args[]) { Student myStudent1=new Student("Adam",22); Student myStudent2=new Student("Adlin"); } } 27
  • 29. Object Methods & Class Methods  Object/Instance methods belong to objects and can only be applied after the objects are created.  They called by the following : objectName.methodName();  Class can have its own methods known as class methods or static methods 29
  • 30. Static Methods  Java supports static methods as well as static variables.  Static Method:-  Belongs to class (NOT to objects created from the class)  Can be called without creating an object/instance of the class  To define a static method, put the modifier static in the method declaration:  Static methods are called by : ClassName.methodName(); 30
  • 31. Java Code (static method) public class Fish { public static void main (String args[]) { System.out.println ("Flower Horn"); Fish.colour(); } static void colour () { System.out.println ("Beautiful Colour"); } } 31

Editor's Notes

  • #10: Ada 2 kategori method 1.Method yg dpt pulangkan nilai-guna return 2.Void methodtak dpt pulangkan nilai
  • #13: Ada 2 kategori method 1.Method yg dpt pulangkan nilai-guna return 2.Void methodtak dpt pulangkan nilai
  • #15: Semasa panggilan method dilakukan, boleh ada lebih dari satu jenis data pada parameter.
  • #20: Sintak untuk memanggil method yang boleh pulangkan nilai (mesti ada parameter semasa panggilan dilakukan)
  • #24: Method methodABC() merupakan satu contoh method overloading dalam satu kelas