Object Oriented Programming
It follows bottom up approach in program design.
New functions and data items can be added easily.
Data is given more importance than functions.
It emphasizes on safety and security of data.
Data is hidden and cannot be accessed by external functions.
Objects communicate each other by sending messages in the form of functions.
It helps in wrapping up of data and methods together in a single unit which is known as class and this process is called
8. Some Examples of OOP Languages- C++, Java, C#, PHP.
Advantages of OOP
Principle of data hiding helps programmer to design and develop safe programs
Software complexity decreases.
Code reusability in terms of inheritance.
Object oriented systems can be easily upgraded from one platform to another.
Improved software Maintainability.
It implements real life scenario.
Faster development: Reuse enables faster development.
Lower cost of development: The reuse of software also lowers the cost of development.
Higher-quality software: Faster development of software and lower cost of development allows more time and
resources to be used in the verification of the software.
10. In OOP, programmer not only defines data type but also deals with operations applied for data structures.
Disadvantages of OOP
1. Larger program size: Object-oriented programs typically involve more lines of code than procedural programs.
2. Steep learning curve: The thought process involved in object-oriented programming may not be natural for some
people, and it can take time to get used to it.
3. Slower programs: Object-oriented programs are typically slower than procedure-based programs, as they typically
require more instructions to be executed.
4. Not suitable for all types of problems: There are problems that lend themselves well to functional-programming
style, logic-programming style, or procedure-based programming style, and applying object-oriented programming in
those situations will not result in efficient programs.
A class serves as a blueprint or a plan or a template or a prototype.
A class is a collection of data members and methods.
It specifies what data and what functions will be included in objects of that type.
Defining a class does not create any object.
5. Once a class has been defined, we can create any number of objects belonging to that class.
6. A class is thus a collection of objects of similar type.
7. All the attributes of a class are fixed before, during and after the execution of a program.
1. An object is an instance of a class.
2. Objects have states and behaviors.
Example: A dog has states - color, name, breed as well as behaviors -wagging, barking and eating.
3. Object’s state is stored in fields and behavior is shown via methods.
4. Objects are identified by its unique name.
5. Every object belongs to a class.
6. Object has a limited lifespan.
7. During the lifetime, the attributes of the object may undergo significant change.
8. Objects are created and eventually destroyed.
We have two types of data members 1. Instance/non-static data members
Syntax- <object name>.<data member>
Ex. text, editable, enabled, toolTipText in JTextField class
2. Static data members
Syntax- <class name>.<data member>
Each and every method is meant for performing some operation.
We have two types of methods they are-
1. Instance/ non –static methods
Syntax- <object name>.<method name>
Ex. jTextField1.setText(), jTextField1.getText(), jLabel1.setToolTipText
2. Static methods
Syntax- <class name>.<method name>
JOptionPane.showMessageDialog(null,”this is message dialog”);
Polymorphism allows the programmer to give a generic name to various methods or operators to minimize his memorizing of
1. The ability to appear in many forms.
2. In object oriented programming there is a provision by which an operator or a method exhibits different
characteristics depending upon different sets of input provided to it.
3. Two examples of polymorphism are
a. Method Overloading
i. Method overloading is where a method name can be associated with different set of
arguments/parameters and method bodies in the same class.
Ex. round() method of Math class and
Substring method of String class
int num1=Math.round(f); //num1 will store 13
float num2=Math.round(d); //num2 will store 124.0
b. Operator Overloading
i. In this Overloading, different operators have different implementations depending on their arguments.
ii. Java doesn't support user-defined operator overloading.
‘+’ operator for String and int is an example of operator overloading
String a=”hello”, b =”world”;
int num1=10, num2=20;
//c will store helloworld
//num3 will store 30
Inheritance enables the programmer to effectively utilize already established characteristics of a class in new
classes and applications.
The extended class is termed the direct superclass, base class, or parent class.
The extending class is termed the direct subclass, derived class, or child class.
Create a new class as an extension of another class, primarily for the purpose of code reuse.
The derived class inherits the public methods and public data of the base class.
A subclass can extend only one superclass
Inheritance defines an is-a relationship between a superclass and its subclasses.
The process of inheritance does not affect the base class.
extends keyword is used in java to inherit data members and methods of a base class.
Final classes can be inherited.
Ex. String (java.lang.String)
Syntax of Inheritance
class Subclass-name extends Superclass-name
//methods and fields
Advantages of Inheritance
Inheritance allows reusability of code.
A debugged class can be adapted to work in different situations.
Saves Time and Effort.
Increases Program Structure which results in greater reliability.
It is very useful in original conceptualization and design of a programming problem.
The classes for which it is not essential to declare objects to use them are known as abstract class.
abstract classes are used for defining generic methods where there is no requirement of storing results.
An abstract class is a class that is designed to be specifically used as a base class.
abstract classes are classes that contain one or more abstract methods.
An abstract method is a method that is declared, but contains no implementation.
abstract keyword is used to denote both an abstract method, and an abstract class.
A class must be declared abstract if any of the methods in that class are abstract.
abstract class is one that does not provide implementations for all its methods.
An Abstract class can contain non abstract methods too.
Number class (java.lang.Number)
1. A concrete class in java is one which implements the functionalities of an abstract class.
Examples of concrete classesi.
JLable class (javax.swing.JLable) because it extends abstract class JComponent (javax.swing.JComponent)
JButton class(javax.swing.JButton) because it extends abstract class AbstractButton