0% found this document useful (0 votes)
201 views13 pages

Object Oriented Programming With Java

The document discusses object-oriented programming with Java. It describes the key characteristics of object-oriented programming including objects, classes, encapsulation, inheritance, polymorphism, and dynamic binding. It then provides a brief history of Java, describing its initial purpose and development. Finally, it outlines some key features of Java such as being simple, object-oriented, platform independent, and secured.

Uploaded by

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

Object Oriented Programming With Java

The document discusses object-oriented programming with Java. It describes the key characteristics of object-oriented programming including objects, classes, encapsulation, inheritance, polymorphism, and dynamic binding. It then provides a brief history of Java, describing its initial purpose and development. Finally, it outlines some key features of Java such as being simple, object-oriented, platform independent, and secured.

Uploaded by

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

OBJECT ORIENTED PROGRAMMING WITH JAVA

Unit-1

Comparison of Programming Paradiagms:

Fig : Hierarchy of Programming Paradiagms.

Machine Code

It's how the machine will read and execute.

Later on, the Hexadecimal notation was created.


Assembly (Unstructured)

The primary example is Assembly language.

Structured

Structured Programming is aimed at improving the clarity, quality, and


development time by making extensive use of the structured control flow
constructs of selection (if/then/else), repetition (while and for), block
structures and subroutines.

Numbers example in a structured paradigm.


It emerged in the late 1950s with the appearance of the ALGOL 58 and ALGOL
60 programming languages.

Procedural

Procedural Programming can be defined as a programming model which


is derived from structured programming, based upon the concept of calling
procedure. Procedures, also known as routines, subroutines or functions,
simply consist of a series of computational steps to be carried out. During a
program’s execution, any given procedure might be called at any point,
including by other procedures or itself.
Object Oriented

Object Oriented Programming (OOP) can be defined as a programming model


which is based upon the concept of objects leveraging the procedural
paradigm. Objects contain data in the form of attributes and code in the form
of methods. In object oriented programming, computer programs are designed
using the concept of objects that interact with the real world. Object oriented
programming languages are various but the most popular ones are class-
based, meaning that objects are instances of classes, which also determine
their types.
Characteristics of Object Oriented Languages:
1. Objects

Objects are the basic run-time entities in an object-oriented system. They may
represent a person, a place, a bank account, a table of data or any item that the
program must handle.The fundamental idea behind object oriented approach is to
combine both data and function into a single unit and these units are called objects.

The term objects means a combination of data and program that represent some
real word entity. 

When a program executed, the object interact by sending messages to one another.
Each object contain data, and code to manipulate the data.

2. Class

A group of objects that share common properties for data part and some program
part are collectively called as class. In C ++ a class is a new data type that contains
member variables and member functions that operate on the variables.

The entire set of data and code of an object can be made a user-defined data type
with the help of a class. Objects are variable of the type class. Once a class has
been defined, we can create any number of objects belonging to that class.

When class is defined, objects are created as:

<classname><objectname>;

 If employee has been defined as a class, then the statement

employee manager;
will create an object manager belonging to the class employee.  

3. Encapsulation

Wrapping of data and functions together as a single unit is known as encapsulation.


By default data is not accessible to outside world and they are only accessible
through the functions which are wrapped in a class. Prevention of data from direct
access by the program is called data hiding or information hiding.

4. Data Abstraction

Abstraction refers to the act of representing essential features without including the
back ground details or explanation. Classes use the concept of abstraction and are
defined as a list of attributes such as size, weight, cost and functions to operate on
these attributes. They encapsulate all essential properties of the object that are to be
created. The attributes are called as data members as they hold data and the
functions which operate on these data are called as member functions.

Class use the concept of data abstraction so they are called abstract data type
(ADT).

5. Inheritance

Inheritance is the mechanism by which one class can inherit the properties of
another. It allows a hierarchy of classes to be build, moving from the most general
to the most specific. When one class is inherited by another, the class that is
inherited is called the base class. The inheriting class is called the derived class. In
general, the process of inheritance begins with the definition of a base class. The
base class defines all qualities that will be common to any derived class. . In OOPs,
the concept of inheritance provides the idea of reusability. In essence, the base
class represent the most general description of a set of traits. The derived class
inherits those general traits and adds properties that are specific to that class.
6. Polymorphism

Polymorphism comes from the Greek words “poly” and “morphism”. “poly”
means many and “morphism” means form i.e.. many forms. Polymorphism means
the ability to take more than one form. For example, an operation have different
behavior in different instances. The behavior depends upon the type of the data
used in the operation.

Different ways to achieving polymorphism in C++ program:

1) Function overloading

2) Operator overloading 

It is able to express the operation of addition by a single operater say ‘+’. When
this is possible you use the expression x + y to denote the sum of x and y, for many
different types of x and y; integers , float and complex no. You can even define the
+ operation for two strings to mean the concatenation of the strings.

7. Dynamic Binding

Binding refers to the linking of a procedure call to the code to the executed in
response to the call. Dynamic binding means the code associated with a given
procedure call is not known until the time of the call at run-time. It is associated
with a polymorphic reference depends upon the dynamic type of that reference.
8. Message Passing

An object oriented program consists of a set of objects that communicate with each
other.

A message for an object is a request for execution of a procedure and therefore will
invoke a function (procedure) in the receiving object that generates the desired
result. Message passing involves specifying the name of the object, the name of the
function (message) and information to be sent.

History Of Java:

The history of Java is very interesting. Java was originally designed for interactive
television, but it was too advanced technology for the digital cable television
industry at the time. The history of Java starts with the Green Team. Java team
members (also known as Green Team), initiated this project to develop a language
for digital devices such as set-top boxes, televisions, etc. However, it was best
suited for internet programming. Later, Java technology was incorporated by
Netscape.

The principles for creating Java programming were "Simple, Robust, Portable,
Platform-independent, Secured, High Performance, Multithreaded, Architecture
Neutral, Object-Oriented, Interpreted, and Dynamic". Java was developed by
James Gosling, who is known as the father of Java, in 1995. James Gosling and
his team members started the project in the early '90s.

Structure of Java Program:


Fetures of Java:
Simple

Java is very easy to learn, and its syntax is simple, clean and easy to understand.
According to Sun Microsystem, Java language is a simple programming language
because:

o Java syntax is based on C++ (so easier for programmers to learn it after C+
+).
o Java has removed many complicated and rarely-used features, for example,
explicit pointers, operator overloading, etc.
o There is no need to remove unreferenced objects because there is an
Automatic Garbage Collection in Java.
Object-oriented

Java is an object-oriented programming language. Everything in Java is an object.


Object-oriented means we organize our software as a combination of different
types of objects that incorporate both data and behavior.

Object-oriented programming (OOPs) is a methodology that simplifies software


development and maintenance by providing some rules.

Basic concepts of OOPs are:

1. Object
2. Class
3. Inheritance
4. Polymorphism
5. Abstraction
6. Encapsulation

Platform Independent

Java is platform independent because it is different from other languages


like C, C++, etc. which are compiled into platform specific machines while Java is
a write once, run anywhere language. A platform is the hardware or software
environment in which a program runs.

There are two types of platforms software-based and hardware-based. Java


provides a software-based platform.

The Java platform differs from most other platforms in the sense that it is a
software-based platform that runs on top of other hardware-based platforms. It has
two components:

1. Runtime Environment
2. API(Application Programming Interface)

Java code can be executed on multiple platforms, for example, Windows, Linux,
Sun Solaris, Mac/OS, etc. Java code is compiled by the compiler and converted
into bytecode. This bytecode is a platform-independent code because it can be run
on multiple platforms, i.e., Write Once and Run Anywhere (WORA).
Secured

Java is best known for its security. With Java, we can develop virus-free systems.
Java is secured because:

o No explicit pointer
o Java Programs run inside a virtual machine sandbox

o Classloader: Classloader in Java is a part of the Java Runtime Environment


(JRE) which is used to load Java classes into the Java Virtual Machine
dynamically. It adds security by separating the package for the classes of the
local file system from those that are imported from network sources.
o Bytecode Verifier: It checks the code fragments for illegal code that can
violate access rights to objects.
o Security Manager: It determines what resources a class can access such as
reading and writing to the local disk.

Java language provides these securities by default. Some security can also be
provided by an application developer explicitly through SSL, JAAS,
Cryptography, etc.

Robust

The English mining of Robust is strong. Java is robust because:


o It uses strong memory management.
o There is a lack of pointers that avoids security problems.
o Java provides automatic garbage collection which runs on the Java Virtual
Machine to get rid of objects which are not being used by a Java application
anymore.
o There are exception handling and the type checking mechanism in Java. All
these points make Java robust.

Architecture-neutral

Java is architecture neutral because there are no implementation dependent


features, for example, the size of primitive types is fixed.

In C programming, int data type occupies 2 bytes of memory for 32-bit


architecture and 4 bytes of memory for 64-bit architecture. However, it occupies 4
bytes of memory for both 32 and 64-bit architectures in Java.

Portable

Java is portable because it facilitates you to carry the Java bytecode to any
platform. It doesn't require any implementation.

High-performance

Java is faster than other traditional interpreted programming languages because


Java bytecode is "close" to native code. It is still a little bit slower than a compiled
language (e.g., C++). Java is an interpreted language that is why it is slower than
compiled languages, e.g., C, C++, etc.

Distributed

Java is distributed because it facilitates users to create distributed applications in


Java. RMI and EJB are used for creating distributed applications. This feature of
Java makes us able to access files by calling the methods from any machine on the
internet.
Multi-threaded

A thread is like a separate program, executing concurrently. We can write Java


programs that deal with many tasks at once by defining multiple threads. The main
advantage of multi-threading is that it doesn't occupy memory for each thread. It
shares a common memory area. Threads are important for multi-media, Web
applications, etc.

Dynamic

Java is a dynamic language. It supports the dynamic loading of classes. It means


classes are loaded on demand. It also supports functions from its native languages,
i.e., C and C++.

Java supports dynamic compilation and automatic memory management (garbage


collection).

You might also like