Characteristics (Concepts) of Object Oriented Programming (OOP) Notes | Basic Computer Engineering | RGPV BTech First Year
Characteristics (Concepts) of Object Oriented Programming (OOP) Notes | Basic Computer Engineering | RGPV BTech First Year
Characteristics (Concepts) of Object Oriented Programming (OOP)
Object Oriented Programming (OOP) рдЖрдзреБрдирд┐рдХ Software Development рдХреА рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп Programming Methodology рд╣реИред Procedural Programming рдХреА рд╕реАрдорд╛рдУрдВ рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП OOP рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдЗрд╕рдореЗрдВ Program рдХреЛ Functions рдХреА рдмрдЬрд╛рдп Objects рддрдерд╛ Classes рдХреЗ рд░реВрдк рдореЗрдВ Design рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред OOP рдХрд╛ рдореБрдЦреНрдп рдЙрджреНрджреЗрд╢реНрдп Real World Entities рдХреЛ Software рдореЗрдВ рдЙрд╕реА рдкреНрд░рдХрд╛рд░ Represent рдХрд░рдирд╛ рд╣реИ рдЬреИрд╕реЗ рд╡реЗ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рди рдореЗрдВ рд╣реЛрддреА рд╣реИрдВред
рдЖрдЬ рд▓рдЧрднрдЧ рд╕рднреА рдмрдбрд╝реЗ Software Systems, Banking Applications, ERP Software, Android Applications, Enterprise Applications, Cloud Platforms рддрдерд╛ Game Development рдореЗрдВ Object Oriented Programming рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
Introduction
Object Oriented Programming рдПрдХ рдРрд╕рд╛ Programming Paradigm рд╣реИ рдЬрд┐рд╕рдореЗрдВ Data рддрдерд╛ Functions рдХреЛ рдПрдХ рд╕рд╛рде Objects рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧрдард┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ Object рдЕрдкрдиреА Properties (Data Members) рддрдерд╛ Behaviors (Member Functions) рд░рдЦрддрд╛ рд╣реИред
OOP Code Reusability, Security, Maintainability рддрдерд╛ Scalability рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрдзреБрдирд┐рдХ Programming Languages рдЬреИрд╕реЗ C++, Java, Python, C#, Kotlin рдЖрджрд┐ Object Oriented Programming рдХреЛ Support рдХрд░рддреА рд╣реИрдВред
Definition of OOP
Object Oriented Programming рдРрд╕реА Programming Methodology рд╣реИ рдЬрд┐рд╕рдореЗрдВ Program рдХреЛ Objects рдПрд╡рдВ Classes рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрдерд╛ Data рдФрд░ Functions рдХреЛ рдПрдХ рд╕рд╛рде рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
Objectives of OOP
- Real World Modeling рдХрд░рдирд╛ред
- Code Reusability рдмрдврд╝рд╛рдирд╛ред
- Data Security рдкреНрд░рджрд╛рди рдХрд░рдирд╛ред
- Large Software Development рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдирд╛ред
- Maintenance Cost рдХрдо рдХрд░рдирд╛ред
- Software Quality Improve рдХрд░рдирд╛ред
- Development Time рдХрдо рдХрд░рдирд╛ред
Main Characteristics of OOP
- Class
- Object
- Encapsulation
- Abstraction
- Inheritance
- Polymorphism
- Dynamic Binding
- Message Passing
1. Class
Class рдПрдХ User Defined Data Type рдпрд╛ Blueprint рд╣реЛрддреА рд╣реИ рдЬрд┐рд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ Objects рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред Class рдореЗрдВ Data Members рддрдерд╛ Member Functions рджреЛрдиреЛрдВ рд╣реЛрддреЗ рд╣реИрдВред
Class рд╕реНрд╡рдпрдВ Memory Occupy рдирд╣реАрдВ рдХрд░рддреАред Memory рдХреЗрд╡рд▓ рдЙрд╕рдХреЗ Objects рдмрдирдиреЗ рдкрд░ Allocate рд╣реЛрддреА рд╣реИред
Characteristics of Class
- Blueprint of Objects
- User Defined Data Type
- Contains Data Members
- Contains Member Functions
- Supports Encapsulation
Example
int roll;
void display();
};
2. Object
Object рдХрд┐рд╕реА Class рдХрд╛ Instance рд╣реЛрддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ Object рдХреЗ рдкрд╛рд╕ рдЕрдкрдирд╛ рдЕрд▓рдЧ Data рддрдерд╛ Functions рд╣реЛрддреЗ рд╣реИрдВред
рдЬрдм Class рдХрд╛ Object рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрдм Memory Allocate рд╣реЛрддреА рд╣реИ рддрдерд╛ Object Program рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рдирд╛ рдкреНрд░рд╛рд░рдореНрдн рдХрд░рддрд╛ рд╣реИред
Characteristics of Object
- Instance of Class
- Occupies Memory
- Contains State
- Contains Behaviour
- Has Unique Identity
Example
Student s2;
Difference between Class and Object
| Class | Object |
|---|---|
| Blueprint | Instance |
| No Memory Allocation | Memory Allocated |
| Logical Entity | Physical Entity |
| Template | Real Object |
3. Encapsulation
Encapsulation OOP рдХрд╛ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг Concept рд╣реИ рдЬрд┐рд╕рдореЗрдВ Data рддрдерд╛ Functions рдХреЛ рдПрдХ рд╣реА Unit рдЕрд░реНрдерд╛рдд Class рдХреЗ рдЕрдВрджрд░ рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рд╕рд╛рде-рд╕рд╛рде Data рдХреЛ Unauthorized Access рд╕реЗ рднреА рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред
Encapsulation Data Hiding рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдХреЗрд╡рд▓ Authorized Functions рд╣реА Data рдХреЛ Access рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
Advantages of Encapsulation
- Data Security
- Data Hiding
- Better Maintainability
- Improved Flexibility
- Easy Code Management
| Concept | Purpose |
|---|---|
| Class | Blueprint |
| Object | Instance of Class |
| Encapsulation | Data + Methods Together |
4. Abstraction
Abstraction рдХрд╛ рдЕрд░реНрде рд╣реИ рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХ Information рдХреЛ User рдХреЗ рд╕рд╛рдордиреЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ рддрдерд╛ Internal Implementation Details рдХреЛ рдЫрд┐рдкрд╛рдирд╛ред рдпрд╣ OOP рдХрд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг Concept рд╣реИ рдЬреЛ Program рдХреЛ рд╕рд░рд▓ рддрдерд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рдмрдирд╛рддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЬрдм рд╣рдо ATM Machine рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╣рдореЗрдВ рдХреЗрд╡рд▓ Withdraw, Deposit рддрдерд╛ Balance Check рдЬреИрд╕реЗ Functions рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ Internal Processing рд╣рдореЗрдВ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗрддреАред рдпрд╣реА Abstraction рд╣реИред
Characteristics of Abstraction
- Hides Internal Implementation
- Shows Only Essential Features
- Improves Security
- Reduces Complexity
- Easy Maintenance
5. Inheritance
Inheritance рд╡рд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдПрдХ рдирдИ Class, Existing Class рдХреА Properties рддрдерд╛ Member Functions рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреА рд╣реИред Existing Class рдХреЛ Base Class (Parent Class) рддрдерд╛ рдирдИ Class рдХреЛ Derived Class (Child Class) рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
Inheritance Code Reusability рдмрдврд╝рд╛рддрд╛ рд╣реИ рддрдерд╛ Software Development рдХреЛ рддреЗрдЬ рдПрд╡рдВ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред
Types of Inheritance
- Single Inheritance
- Multiple Inheritance
- Multilevel Inheritance
- Hierarchical Inheritance
- Hybrid Inheritance
Advantages
- Code Reusability
- Easy Maintenance
- Reduced Development Time
- Improved Extensibility
6. Polymorphism
Polymorphism рдХрд╛ рдЕрд░реНрде рд╣реИ "One Interface, Many Forms" рдЕрд░реНрдерд╛рдд рдПрдХ рд╣реА Function рд╡рд┐рднрд┐рдиреНрди рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рд╕реЗ рдХрд╛рд░реНрдп рдХрд░ рд╕рдХрддрд╛ рд╣реИред
Types of Polymorphism
| Type | Description |
|---|---|
| Compile Time Polymorphism | Function Overloading, Operator Overloading |
| Run Time Polymorphism | Function Overriding using Virtual Functions |
Advantages
- Flexible Programming
- Easy Code Extension
- Improved Readability
- Better Maintainability
7. Dynamic Binding
Dynamic Binding рд╡рд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХрд┐рд╕реА Function Call рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдирд┐рд░реНрдгрдп Program рдХреЗ Run Time рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕реЗ Late Binding рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
Dynamic Binding рдореБрдЦреНрдпрддрдГ Virtual Functions рддрдерд╛ Run Time Polymorphism рдореЗрдВ рдЙрдкрдпреЛрдЧ рд╣реЛрддреА рд╣реИред
8. Message Passing
Message Passing рд╡рд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ Object рджреВрд╕рд░реЗ Object рдХреЛ Function Call рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрджреЗрд╢ (Message) рднреЗрдЬрддрд╛ рд╣реИред Objects рдЖрдкрд╕ рдореЗрдВ Communication рдХрд░рдХреЗ Complex Tasks рдХреЛ рдкреВрд░рд╛ рдХрд░рддреЗ рд╣реИрдВред
рдпрд╣ Concept Large Scale Software Systems рдореЗрдВ Object Interaction рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддрд╛ рд╣реИред
Comparison of OOP Concepts
| Concept | Purpose |
|---|---|
| Class | Blueprint for Objects |
| Object | Instance of Class |
| Encapsulation | Data Hiding |
| Abstraction | Hide Implementation Details |
| Inheritance | Code Reusability |
| Polymorphism | One Interface, Many Forms |
| Dynamic Binding | Run Time Function Binding |
| Message Passing | Object Communication |
Advantages of Object Oriented Programming
- Code Reusability
- High Security
- Better Maintainability
- Easy Software Development
- Reduced Complexity
- Scalability
- Modularity
- Improved Productivity
Applications of OOP
- Enterprise Applications
- Desktop Software
- Web Applications
- Android Applications
- Game Development
- Banking Systems
- ERP Software
- Cloud Computing
- Artificial Intelligence
- Embedded Systems
Industrial Importance
рдЖрдЬ рдЕрдзрд┐рдХрд╛рдВрд╢ Software Companies рдЬреИрд╕реЗ Microsoft, Google, Oracle, IBM, SAP рддрдерд╛ Adobe рдЕрдкрдиреЗ Enterprise Software Development рдореЗрдВ Object Oriented Programming рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИрдВред OOP рдмрдбрд╝реЗ рддрдерд╛ Complex Software Systems рдХреЗ Development рдХреЛ рдЖрд╕рд╛рди, рд╕реБрд░рдХреНрд╖рд┐рдд рддрдерд╛ Maintainable рдмрдирд╛рддрд╛ рд╣реИред
Viva Questions
- What is Object Oriented Programming?
- What is a Class?
- What is an Object?
- Define Encapsulation.
- What is Abstraction?
- Explain Inheritance.
- What is Polymorphism?
- What is Dynamic Binding?
- What is Message Passing?
- List the main concepts of OOP.
Exam Oriented Important Questions
- Define Object Oriented Programming.
- Explain the characteristics of OOP.
- Differentiate between Class and Object.
- Explain Encapsulation and Abstraction.
- Describe Inheritance and its Types.
- Explain Polymorphism with Types.
- Write notes on Dynamic Binding and Message Passing.
- Discuss the advantages and applications of OOP.
Conclusion
Object Oriented Programming рдЖрдзреБрдирд┐рдХ Software Development рдХреА рд╕рдмрд╕реЗ рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА Methodology рд╣реИред рдЗрд╕рдХреЗ рдореБрдЦреНрдп Concepts рдЬреИрд╕реЗ Class, Object, Encapsulation, Abstraction, Inheritance, Polymorphism, Dynamic Binding рддрдерд╛ Message Passing Software рдХреЛ рдЕрдзрд┐рдХ Secure, Reusable, Scalable рддрдерд╛ Maintainable рдмрдирд╛рддреЗ рд╣реИрдВред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╡рд░реНрддрдорд╛рди рд╕рдордп рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ Professional Software Development OOP рдЖрдзрд╛рд░рд┐рдд Programming Languages рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
Related Articles
Arrays in C++ Notes | One Dimensional & Two Dimensional Arrays with Programs | Basic Computer Engineering | RGPV BTech First Year
Arrays ...
Read More тЖТControl Statements in C++ Notes | Decision Making & Looping Statements | Basic Computer Engineering | RGPV BTech First Year
Control...
Read More тЖТExpressions in C++ Notes | Types of Expressions, Evaluation & Expression Statements | Basic Computer Engineering | RGPV BTech First Year
Express...
Read More тЖТOperators in C++ Notes | Arithmetic, Relational, Logical, Assignment, Bitwise Operators | Basic Computer Engineering | RGPV BTech First Year
Operato...
Read More тЖТProgram Structure in C++ Notes | Basic Computer Engineering | RGPV BTech First Year
Program...
Read More тЖТ