Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
CLASSES, OBJECTS &
METHODS
TOPICS TO COVER
Introduction.
Defining a class.
Creating Objects.
Accessing Class Members.
INTRODUCTION Underlying structure of each JAVA programs is
CLASSES.
CLASS
DATA ITEMS
FUNCTIONS
OBJECTS basic program
Components
CREATE
METHODS OBJECTS
FIELDS
METHODS
CREATE
DEFINING A CLASS A class is a user-defined data type.
Variables and Functions can be created within class
SYNTAX EXAMPLE
class classname { field declaration; method declaration; }
class area { int side; int length; }
Declaring variables
Instance variables are declared exactly as LOCAL variables
INSATNCE VARIABLES
METHOD DECLARATION Without methods class has NO LIFE.
Since objects created by such class cannot respond to any messages.
Thus, methods are necessary for MANIPULATING DATA.
SYNTAX EXAMPLE
type method-name(parameter list)
{
}
Type of the value the method returns. It can be
void, int, float, double
class area { int side; int length; void get(int s, int l) { side = s; length = l; } }
EXAMPLE FOR CREATING CLASSES
Design a class Account that stores customer name, account number, and type of account. Include necessary methods to achieve following tasks:-
Deposit money.
Display balance.
Permit withdrawal and update balance.
An object in JAVA is essentially a block of memory that contains
space to store all the instance variables.
Creating an object also refers to INSTANTIATING AN OBJECT.
Objects in JAVA are created using new. The new operator dynamically
allocates memory for an object an returns a reference to it.
SYNTAX:-
class area { int side; int length; void get(int s, int l) { side = s; length = l; }
classname objectname;
objectname = new classname();
area a1;
a1 = new area();
area a1 = new area();
combined
Allocates at run-time null
a1
Indicates that it does not point
to any object
a1
Values are to be assigned to variables in order to use them in
our programs.
Since we are outside the class, we cannot access the instance
variables and methods directly.
Object and dot operator are used to do this.
SYNTAX:-
objectname.variablename = value;
objectname.methodname(parameter-list);
area a1 = new area();
a1.side = 10;
a1. get (10, 15);
class area { int side; int length; void get(int s, int l) { side = s; length = l; }
a1.tri();
a1.square();
}
Constructors
Method Overloading
Constructor Overloading
Nesting of methods
JAVA allows objects to initialize themselves when they are
created CONSTRUCTOR
PROPERTIES:-
• Initializes an object immediately upon creation.
• Same name as the class in which it resides and syntactically similar
to a method.
• Is called automatically after the object is created.
• Does not have return type.
EXAMPLE
NO RETURN TYPE
OUTPUT
Methods have same name, but different parameter list .
Is used when objects are required to perform similar tasks but
using different input parameters.
Also known as POLYMORPHISM.
Here, the aim is to provide several method definitions all with
same name, but different parameter lists.
The difference may either in number or type of arguments
Method’s return type does not play any role in this
In addition to overloading methods, you can also
overload constructor method
EXAMPLE
A method of a class can be called only by an object of that class using dot operator.
A method can be called by using only its name by another method of the same class
NESTING OF METHODS
STATIC MEMBERS
Is used to define a member that is common to all objects and accessed
without using a particular object.
Thus member belongs to the class as a whole rather than the objects
created from the class.
Used when we want to have a variable common to all instances of a
class.
SYNTAX:- static int count; static int max(int x, int y)
STATIC MEMBERS
Class variables and Class methods
Referred to as
EXAMPLE
RESTRICTIONS FACED BY STATIC METHODS:-
They can only call other static methods.
They can only access static data.
They cannot refer to this or super in any way.
STATIC
METHODS ARE
CALLED USING
CLASS NAME
USING OBJECTS as PARAMETERS
We know how to pass simple types as parameters to methods.
It is possible, correct and common to pass OBJECTS to methods.
EXAMPLE
CALL by VALUE vs. CALL by REFERENCE
CALL BY VALUE CALL BY REFERANCE
This method copies the value of an argument into the formal parameter of the subroutine
In this method, reference to an argument is passed to the parameter.
Does not access actual argument
This reference is used to access the actual argument.
Thus, changes made to parameter of the subroutine have no effect on the argument.
Thus, changes made to parameter will have an effect on the argument.
EXAMPLE
CALL by VALUE:- Simple type arguments are passed
to methods.
CALL by REFERENCE:- Objects are passed to methods
REMEMBER
RECURSION
JAVA supports recursion.
Recursion is the process of defining something in
terms of itself.
A method that calls itself is said to be recursive.
VISIBILITY CONTROL
Visibility modifiers are used to restrict the access to certain variables and methods from outside the class.
Also known as ACCESS MODIFIERS.
Visibility Labels
PUBLIC PRIVATE
PROTECTED
VISIBILITY CONTROL (Contd..)
PUBLIC Visible to entire class in which it is defined and All the class Outside
PRIVATE Enjoys highest degree of protection. Accessible only with their own class. Cannot be inherited, thus not accessible in sub-class.
Friendly When no access modifier is specified then the default version of public accessibility is known as “FRIENDLY”
PUBLIC
Friendly
Makes fields visible in all classes, regardless of their packages
Makes fields visible only in the same package.
PROTECTED Its level lies between PUBLIC ACCESS & FRIENDLY ACCESS. Makes the fields visible not only to all classes and subclasses in same package but also to subclasses in other packages