DEV Community

Md. Ashikur Rahman
Md. Ashikur Rahman

Posted on • Edited on

5

JAVA and Object Oriented Programming Basic

JAVA and Object Oriented Programming Basic

Ashikur Rahman

Any real-life entity/object have two parts

  • Properties (Describes its height, weight, width etc.)
  • Functionality (Describes how it behaves)

Object-oriented programming removes some constraints of procedural programming language.

  • Modularity (Logic are modular)
  • Reusability (Code are re-usable fashion)
  • Extendable (Code are extendable)

Object

An object is an entity which has

  • Identity (Names)
  • State (Values)
  • Behavior (Performance) An object is an individual representation of a real-world entity.

Class

A class is a template, helps to describe common

  • Attributes (e.g. customer id, name, telephone no…)
  • Activities (e.g. purchasing an item, etc.) Example of a real-world entity (Customer)

Definition of a class of different perspective:

  • A class is a blueprint/real-world entity
  • A class is a generalized representation
  • A class is an encapsulation of properties and corresponding functionality A program is a set of instruction to solve a problem UML (Unified Modeling Language) A class diagram is a notation used to represent a class in a document. Class diagram is a kind of UML. UML is a language for visualizing, specifying, constructing and documenting the software.

Access modifier/specifies

(-) Private: Only can be accessed from inside the class where it is declared.
(+) public: Can be accessed from anywhere

It is recommended that in a class all the variable/properties should be private and all the method/functions should be public.
Five feature of object-oriented programming:

  • Classes and objects
  • Abstractions
  • Encapsulations
  • Inheritance
  • Polymorphism

Abstraction:
Hiding unnecessary details and showing only necessary details. The concept of identifying the essential details to be known and ignoring the non-essential details from the perspective of an end user.
(E.g.: Method name and parameter need to be known, we need not know the whole process)

Encapsulations:
Combining all elements into a capsule (E.g. : A class, which contains attributes and functions and all those attributes and functionality need not be exposed using access modifier we can achieve this).
The concept of hiding internal details and providing a simple interface to the user.

Inheritance:
Concepts of which allows defining generalized and specialized characteristic and behavior. The specialize entities automatically inherit all the properties and behavior of the generic one.

  • All the generalize details will be present in a parent class
  • All the specialize details will be present in a child class
  • A child class will extend the parent to get the generalize properties.

Polymorphism:
If the same method behaves different ways in different situations

Object-oriented system development:
3 main phases

  • Object-oriented analysis (OOA)
  • Object-oriented design (OOD)
  • Object-oriented programing (OOP)

OOA: Analysis the problem structure and identifying the number and the name of the class
OOD: Elaborate class structure, what should contain (attribute and functionality)
OOP: The process of implementing the design using the object-oriented programing language

Member variables: Used for representing the state of an object/attribute of a class called member variable also called global variables.

Access modifier: Used to access or hide the attribute and the behavior of the class

The following syntax can be used to create an object of a customer class and refer is using a reference variable.

Customer custobject= new Customer();
Custobject – Reference variable and new Customer() – is the object.

JAVA architecture is composed 3 components

  • JAVA programming language
  • JAVA byte code
  • JAVA virtual machine

.java -> .javac -> .class ->Interpreter (Win32) or Interpreter (Linux) or Interpreter (Mac)

JAVA is a byte code level platform independent
Platform independency depends on

  • Source code level
  • Byte code/ executable level

.cpp or c++ is a source code level platform independent but in executable level, it is not. The only component in JAVA which is platform dependent is JVM (Java virtual machine)

JVM – Converts bytecode to corresponding machine level language and executes the instructions.
JDK – Create/develop JAVA in runtime
JRE – Runtime/ Kit just to run and compile or convert the code to bytecode
JVM – Interpreter/ Read line by line and convert byte to executable

During the execution of a program, the storage of a program and data as follows:

  • All the java code stored in the memory called code segment
  • All the global variable we declare for a class stored in the data segment
  • All the variable which declare inside the class and outside of all the function is called member variable/ global variable
  • Life of a member variable depends on an object
  • The reference which points to a newly created object is called reference variable
  • All the details of a class should be present in the { }

Private int a;
Public void geta(){}

When we create an object it resides in the heap memory.
New keyword returns a newly created object.
The reference variable is simple variable use to access the object which is created in a heap memory.
Main is the starting point of execution of any Java program.

Heroku

Simplify your DevOps and maximize your time.

Since 2007, Heroku has been the go-to platform for developers as it monitors uptime, performance, and infrastructure concerns, allowing you to focus on writing code.

Learn More

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay