0% found this document useful (0 votes)
20 views

Objs&Classes

Objects and classes are fundamental concepts in object-oriented programming. An object represents a real-world entity with a unique identity, state, and behaviors. The state consists of data fields and their values, while behaviors are defined as methods. Classes define common properties and behaviors of objects of the same type. Constructors are special methods used to initialize new objects from a class.

Uploaded by

GeezAnna
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
20 views

Objs&Classes

Objects and classes are fundamental concepts in object-oriented programming. An object represents a real-world entity with a unique identity, state, and behaviors. The state consists of data fields and their values, while behaviors are defined as methods. Classes define common properties and behaviors of objects of the same type. Constructors are special methods used to initialize new objects from a class.

Uploaded by

GeezAnna
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 18

Objects and Classes

1
OO Programming Concepts
Object-oriented programming (OOP) involves
programming using objects. An object represents
an entity in the real world that can be distinctly
identified. For example, a student, a desk, a circle,
a button, and even a loan can all be viewed as
objects. An object has a unique identity, state, and
behaviors. The state of an object consists of a set
of data fields (also known as properties) with their
current values. The behavior of an object is defined
by a set of methods.

2
Objects
data field 1 radius = 5 Data field, State
Properties

... State
(Properties)

data field m findArea() Method,


Behavior
method 1

... Behavior

method n

(A) A generic object (B) An example of circle object

An object has both a state and behavior. The state


defines the object, and the behavior defines what the
object does. 3
Classes
Classes are constructs that define objects of the
same type. A Java class uses variables to define
data fields and methods to define behaviors.
Additionally, a class provides a special type of
methods, known as constructors, which are
invoked to construct objects from the class.

4
Classes
class Circle {
/** The radius of this circle */
double radius = 1.0; Data field

/** Construct a circle object */


Circle() {
}
Constructors
/** Construct a circle object */
Circle(double newRadius) {
radius = newRadius;
}

/** Return the area of this circle */


double findArea() { Method
return radius * radius * 3.14159;
}
}
5
Constructors
Constructors are a special
Circle() { kind of methods that are
} invoked to construct objects.

Circle(double newRadius) {
radius = newRadius;
}

6
Constructors, cont.
A constructor with no parameters is referred to as
a no-arg constructor.
·       Constructors must have the same name as the
class itself.
·       Constructors do not have a return type—not
even void.
·       Constructors are invoked using the new
operator when an object is created. Constructors
play the role of initializing objects.
7
Creating Objects Using
Constructors
new ClassName();

Example:
new Circle();

new Circle(5.0);

8
Default Constructor
A class may be declared without constructors. In
this case, a no-arg constructor with an empty body
is implicitly declared in the class. This constructor,
called a default constructor, is provided
automatically only if no constructors are explicitly
declared in the class.

9
Constructing Objects, cont.
Circle UML Graphical notation for classes

radius: double UML Graphical notation for fields

UML Graphical notation for methods


findArea(): double

new Circle() new Circle()

circle1: Circle circlen: Circle UML Graphical notation


for objects
radius = 2 ... radius = 5

10
Declaring Object Reference
Variables
To reference an object, assign the object
to a reference variable.

To declare a reference variable, use the


syntax:

ClassName objectRefVar;

Example:
Circle myCircle;

11
Declaring/Creating Objects
in a Single Step
ClassName objectRefVar = new ClassName();

Assign object reference Create an object


Example:
Circle myCircle = new Circle();

12
Accessing Objects
 Referencing the object’s data:
objectRefVar.data
e.g., myCircle.radius

 Invoking the object’s method:

objectRefVar.methodName(arguments)
e.g., myCircle.findArea()

13
The null Value
If a variable of a reference type
does not reference any object, the
variable holds a special literal value,
null.

14
Default Value for a Data Field
The default value of a data field is
null for a reference type, 0 for a
numeric type, false for a boolean
type, and '\u0000' for a char type.
However, Java assigns no default
value to a local variable inside a
method.

15
Example
public class Student {
String name; // name has default value null
int age; // age has default value 0
boolean isScienceMajor; // isScienceMajor has default value false
char gender; // c has default value '\u0000'

public static void main(String[] args) {


Student student = new Student();
System.out.println("name? " + student.name);
System.out.println("age? " + student.age);
System.out.println("isScienceMajor? " + student.isScienceMajor);
System.out.println("gender? " + student.gender);
}
}

16
Example
public class Test {
public static void main(String[] args) {
int x; // x has no default value
String y; // y has no default value
System.out.println("x is " + x);
System.out.println("y is " + y);
}
}

Compilation error: variables not


initialized

17
Differences between Variables of
Primitive Data Types and Object Types
Created using new Circle()
Primitive type int i = 1 i 1

Object type Circle c c reference c: Circle

radius = 1

18

You might also like