Core java tutorial for beginners
A tutorial blog which explains different core concepts related to Java along with programming examples

September 8, 2014 Categories: Object Orientation Concepts. No Comments on Object Orientation Concepts

This tutorial gives you knowledge of various object orientation concepts like object, class, message, object state and principles of object orientation.

 

What is the need to learn about object orientation concepts?

As you have already seen here: introduction to java, Java is an object oriented programming language. Java follows or is built upon the object oriented paradigm. Generally, every programming language supports at least one of the programming paradigms.

To understand a Java program and its structure, it is essential to know about the object orientation concepts.

 

Structured Paradigm Vs Object Oriented Paradigm

In programming languages following structured paradigm or procedural paradigm instructions are written in linear blocks or using functions. We can say that in procedural or structured paradigm, “Code allows access to data”. Examples of programming languages following procedural or structured paradigm can be found here.

In object oriented paradigm, the program is written using objects and classes. A problem can be solved through interactions between objects. We can say that in object oriented paradigm, “Data allows access to code”. Examples of object oriented languages can be found here.

 

Object Oriented Paradigm

The fundamental unit in object oriented paradigm is an object. Let’s look at an object in detail.

oops features

Object:

Object is a real world thing or entity that is tangible or intangible. An object consists of properties and/or behavior. For example consider a student object whose name is John. Student object contains properties or characteristics like name, age, gender, date of birth etc and behavior like eat, sleep, register, write exam etc.

A student object can be represented on paper or electronically as shown below. I am using the industry standard language UML (Unified Modeling Language) for representing the student object.

object notation oop

Class:

It is common for most of the Java programs to have similar objects. Similar means objects having same properties and behavior. So, a class can be defined as a mold or template for creating objects. A class can also be defined as a collection of similar objects.

class oop

 

In the above example, the class is the mold (in yellow color) and the object is the paw (blue color). All the objects (blue color) will have the same size, shape etc.

Considering the above student example, let’s think of three student objects: John, Mary and Krishna. All of these three students will have similar properties like name, age, gender etc and similar behavior like register, write exam etc. These three objects can be grouped into a class named Student. A class can be represented diagrammatically (using UML) as shown below:

class symbol oop

 

Now we can represent the class Student and the three objects John, Mary and Krishna of the class Student as shown below:

class and objects

By now you will be able to distinguish between an object and a class. There is some more terminology you must know. Above, I said that object contains properties and behavior. A property is a characteristic which can be used to describe the object and will generally be a noun. Behavior is defined as a set of operations that can be performed by the object or on the object. Operations are generally verbs.

Object state:

The set of values assigned to the properties of an object is known as the state of an object. For example we know that for the John object there are three properties: name, age and gender. Then, the state of John object will be John, 21 and male which are the values of name, age and gender respectively.

Messages:

In object oriented world objects don’t sit idle. They communicate with one other by passing messages. A message is a request to carry out a task. A task can be anything from displaying a message to retrieving data from database and process it.

An object can send messages to those objects only which can process the messages. For example, let’s think that an object Ken of Person class wants his dad (John) to purchase apples for him. To carry out that task Ken sends the message getApples(10) to John. This can be viewed diagrammatically as shown below:

message oop

It is the responsibility of John object to process the message getApples(10) and give response back to Ken object. The response message is not mandatory. In the above message getApples(10), 10 is a parameter. A parameter is a mechanism to pass additional information along with the message. In the above example, 10 reflects the number of apples Ken wants.

Along with the above key concepts, there are key principles which act as the foundations in object oriented paradigm. Click this link to know about them: principles of object orientation.

Note: Do you have a question on this article or have a suggestion to make this article better? You can ask or suggest us by filling in the below form. After commenting, your comment will be held for moderation and will be published in 24-48 hrs.

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll Up
Thank you for visiting startertutorials.com! If you like this website do share with your friends by clicking on the social icons available on the left hand side.

As the domain name is quite large to remember, use this short domain to visit this site. Short domain: stuts.me