java

Fundamentals of Object Oriented Programming in Java

Object Oriented Programming

Object Oriented Programming (OOP) एक Programming Paradigm है, जो Objects के Concept पर Based है| जिसमें Data और Function Include हो सकते हैं, जो उस Data पर काम करते हैं। OOP में Object, Class के उदाहरण हैं, जो किसी Special Object के Properties और Behavior को Define करते हैं।

Object Oriented Programming का उपयोग Data Structure को Object के रूप में Model करने के लिए किया जा सकता है। Example– Linkedlist Data Structure को एक Class के रूप में Implement किया जा सकता है| List में प्रत्येक Node को उस Class के Object के रूप में Represent किया जाता है। Linkedlist Class में Data Insert, Delete तथा Search के तरीकों को Define किया जा सकता है| और Linkedlist Data Structure में Manipulate करने के लिए Class की Object का use किया जा सकता है।

Fundamentals of Object-Oriented Programming

Encapsulation

Java में Encapsulation एक Fundamental Concept है, जो Object Oriented Programming में Data Security और Code Reusibility प्राप्त करने में महत्वपूर्ण भूमिका निभाता है। यह External Entities द्वारा Class के Members के Access को Control करने के लिए एक Class में Data Binding और Methods की एक Technique है।

Encapsulation एक Protective Mechanism है, जो Class के बाहर Data के Direct Access को Ristrict करता है| और यह Ensure करता है, कि Class में केवल Authorized Method से ही Data Access और Modify कर सकते हैं। इस तरह Encapsulation Data के Accidental अथवा Intentional Manipulation को रोकता है, जिससे Error और Dara Curruption हो सकता है।

Data Members को Single Object में Bind करना ही Encapsulation कहलाता है। Encapsulation Class में Defined Variables & Methods को Protect करने की Protection Mechanism होती है। Encapsulation Mechanism की Help से Data Members पर अपनी Need के According Access Restrictions Define कर सकते हैं , जिससे Data को Class के बाहर से Access न किया जा सके।

Abstraction

Abstraction Object-Oriented Programming (OOP) में एक Fundamental Concept है, जो Developers को Implementation Details, Hide करके और केवल Essential Features को Expose (Display) करके Complex System, Create करना Allow करता है। Java में, Abstract Class और Interface का Use करके Abstraction को Implement किया जाता है| Large Scale पर Software System Design करने के लिए Abstraction एक Powerful Technique है।

किसी भी Class के लिए Internal Implementation Details को Hide करना और सिर्फ Operational Process Show करना ही Abstraction कहलाता हैं। Abstraction Data Encapsulation से ही Implement किया जाता है। Abstraction End-user को केवल वही Information Show करता है, जिसकी उसको Requirement है, और Implementation Details जो Hide कर देता है।

Inheritance

Java में Inheritance एक ऐसा Mechanism है, जो एक New Class को Existing Class के Properties और Behaviors को Inherit करने की Permission देता है। Existing Class को Super Class या Parent Class के रूप में जाना जाता है, और New Class  को Subclass या Derived Class के रूप में जाना जाता है। Inheritance, Object Oriented Programming (OOP) का एक Powerful Feature है, जो Existing Class के Base पर New Class के Creation को Possible बनाता है| जिससे Code को Reuse करना और Special Class बनाना Possible हो जाता है।

Inheritance का Main Objective एक New Class बनाना है, जो किसी Existing Class के Properties और Methods को Inherit कर सकता है| और आवश्यकतानुसार उन्हें Add या Override कर सकता है। यह New Class को Common Behavior और Superclass के Attributes को Inherit करने में Capable बनाता है| इसके साथ Sub Class में Requirement के अनुसार अन्य Properties और Methods को Add किया जा सकता है|  

Polymorphism

Java में Polymorphism एक Mechanism है, जो Different Classes के Object को एक Common Class के Object के रूप में Treat करने की Permission देता है। Polymorphism, Programmers को  Generic Code लिखने में Capable बनाता है, जो Different Types और Class के Object के साथ काम कर सकता है|Polymorphism, Code को Flexible और Reusable बनाता है, क्योंकि यह Compile Time पर Object के Type को जाने बिना  Different Type के Object के साथ काम कर सकता है।

Java में Polymorphism के दो Types होते हैं – Compiletime Polymorphism और Runtime Polymorphism| Compiletime Polymorphism को Method Overloading, Mechanism के माध्यम Implement किया जाता है| जिसमे एक ही Name के Multiple Methods को एक ही Class में Define किया जाता है। तथा Runtime Polymorphism को Method Overriding Mechanism के माध्यम से Implement किया जाता है| जिसमे एक Subclass एक Method का Customized Implementation Provide करता है, जो पहले से ही Superclass में Defined है।

Class and Object

Java में Class एक Blueprint अथवा Template है, जो किसी Particular Object की Characteristics और Behaviour को Define करता है। इसमें Variables, Methods और Constructor होते हैं, जो Object के Properties और Operations को Define करते हैं। एक Class, Data और Methods का एक Collection है, जिसका Use Real-world Object अथवा Conecpt को Represent करने के लिए किया जाता है।

Java में, Object Create करने के लिए सबसे पहले एक Class को Define किया जाता है| एक बार Class Define हो जाने के बाद उस Class के Multiple Objects को Create किया जा सकता है| जब कोई Object Create किया जाता हैं, तो Java उन Objects के लिए Memory Allocate करता है, और उस Object के Variable को उनके Default Value के साथ Initialize करता है।

Object के Properties को Set करने और उस पर Operation करने के लिए Methods का उपयोग किया जाता हैं। Java में, Class और Objects का Use करने के Key Advantages में से एक यह है, कि वे आपको Reusable और Modular Components में Data और Behaviours को Encapsulate करने की Permission देते हैं।

Advantages of Object-Oriented Programming

  • Simplifies Maintenance
  • Improved Code Organization
  • Code Sharing and Reuse
  • Improved Code Flexibility
  • Code is Easier to Test
  • Easier to Maintain
  • Better Code Readability
  • Improved Code Quality
  • More Efficient Memory Usage
  • More Scalable Code

What is Procedural Programming?

Procedural Programming एक प्रकार की Structured Programming है, जो किसी Problem को Solve करने के लिए Procedure अथवा Routine के Sequence का Follow करती है। इसमें एक Program को छोटे Manageable Part में Break करना और इनमें से प्रत्येक Part को Handle के लिए Procedure अथवा Function को लिखना Include है।

Data को Organize, Manipulate, Algorithm को Implement करने के लिए Procedural Programming का use किया जाता है। Procedural Program में Procedure को Data Structure के साथ काम करने के लिए लिखा जाता है, जैसे Arrays, Linkedlists, Stacks, and Trees।

Procedure इन Data Structure पर Operation करती हैं, जैसे Data को Insert करना, Delete अथवा Search, Short करना और Data को Different Form में Change करना| Data Structure में Procedural Programming के Advantages में Modularity, Reusability, और Readability Include हैं। Procedural Approach Code को Debug और Maintenance को आसान बनाता है, क्योंकि प्रत्येक Procedure का अलग-अलग Testing और Modification किया जा सकता है।

Difference Between Procedural and Object Oriented Programming

S. No On the basis of Procedural Programming Object-oriented programming
1 Definition Procedural Programming एक प्रकार की Structured Programming है, जो किसी Problem को Solve करने के लिए Procedure अथवा Routine के Sequence का Follow करती है। Object Oriented Programming (OOP) एक Programming Paradigm है, जो Objects के Concept पर Based है|
2 Security यह OOPs की तुलना में कम Secure है। Abstraction के कारण Object-Oriented Programming में Data Hiding Possible है। इसलिए यह अधिक Secure है।
3 Approach यह Top-Down Approach को Follow करता है| यह एक Botton-up Approach को को Follow करता है।
4 Data movement Procedural Programming में Data, System में एक Function से दूसरे में Freely Move हो सकता है। OOP में Member Function के माध्यम से Object एक दूसरे के साथ Move और Communication कर सकते हैं।
5 Orientation यह Structure/Procedure Oriented Paradigm को Follow करती है। यह Object Oriented Paradigm को Follow करती है।
6 Inheritance Procedural Programming में Inheritance का Concept नहीं होता है। Object Oriented Programming में Inheritance का Feature होता है।
7 Code reusability Procedural Programming में Code Reusability Included नहीं है। यह Inheritance Feature का use करके Code Reusability Provide करता है।
8 Virtual class Procedural Programming में कोई Virtual Class नहीं होती हैं। OOP में, Inheritance में Virtual Class का Appearance होता है।
9 Data hiding Data Hiding करना Possible नहीं है। Data Hide करना Possible है।
10 Program division Procedural Programming में एक Program को छोटे-छोटे Program में Divide किया जाता है, जिन्हें Function कहा जाता है। OOP में, एक Program को छोटे-छोटे Part में Divide किया जाता है, जिन्हें Object कहा जाता है।
11 Importance यह Data से अधिक Function को Importance देता है यह Function से अधिक Data को Importance देता है।
12 Examples  C, Fortran, Pascal और Visual Basic .NET, C#, Python, Java, VB.NET, और C++
Tags: No tags

Add a Comment

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