Class 12 Computer Science

Class 12 Computer Science Chapter 1 – Object Oriented Programming (OOP) Introduction

प्रिय विद्यार्थियों, कक्षा 12 कंप्यूटर साइंस का पहला अध्याय Object Oriented Programming (OOP) है। यह अध्याय पहली बार पढ़ने पर थोड़ा कठिन लग सकता है, लेकिन यदि इसे वास्तविक जीवन के उदाहरणों के साथ समझा जाए तो यह अत्यंत सरल और रोचक बन जाता है।

इस अध्याय में हम जानेंगे कि प्रोग्रामिंग क्या होती है, प्रोग्राम कैसे बनाए जाते हैं, Procedural Programming और Object Oriented Programming में क्या अंतर होता है तथा आधुनिक सॉफ्टवेयर विकास में OOP का इतना अधिक महत्व क्यों है।

Chapter Learning Goals:
  • Programming की मूल अवधारणा समझना
  • Program और Programming Language में अंतर समझना
  • Programming Paradigm की जानकारी प्राप्त करना
  • Procedural Programming का परिचय
  • Object Oriented Programming की आवश्यकता समझना

Programming क्या होती है?

कंप्यूटर स्वयं कोई निर्णय नहीं ले सकता। उसे प्रत्येक कार्य के लिए निर्देश (Instructions) देने पड़ते हैं। इन निर्देशों के समूह को Program कहा जाता है।

सरल शब्दों में कहा जाए तो:

Program = Instructions का समूह

जब हम इन निर्देशों को किसी Programming Language की सहायता से लिखते हैं, तब उस प्रक्रिया को Programming कहा जाता है।

उदाहरण के लिए यदि हमें किसी विद्यार्थी के पाँच विषयों के अंक जोड़कर प्रतिशत निकालना हो, तो इसके लिए कंप्यूटर को क्रमबद्ध निर्देश देने होंगे। यही निर्देश मिलकर एक Program बनाते हैं।

Programming Language क्या होती है?

कंप्यूटर केवल Machine Language समझता है, जो 0 और 1 के रूप में होती है। मनुष्यों के लिए सीधे Machine Language में प्रोग्राम लिखना कठिन होता है।

इसलिए विशेष भाषाओं का विकास किया गया जिन्हें Programming Languages कहा जाता है।

Programming Language उपयोग
C Language System Programming
C++ Object Oriented Development
Java Enterprise Applications
Python AI, Data Science, Automation

Programming Paradigm क्या होता है?

Program लिखने के विभिन्न तरीकों को Programming Paradigm कहा जाता है।

जैसे किसी समस्या को हल करने के अनेक तरीके हो सकते हैं, उसी प्रकार Program विकसित करने के भी अनेक तरीके होते हैं।

मुख्य रूप से दो Paradigm कक्षा 12 में महत्वपूर्ण हैं:

  • Procedural Programming
  • Object Oriented Programming (OOP)

Procedural Programming का परिचय

Procedural Programming में किसी बड़े कार्य को छोटे-छोटे कार्यों (Functions) में विभाजित किया जाता है।

उदाहरण के लिए मान लीजिए कि आपको एक जन्मदिन समारोह आयोजित करना है।

पूरा Birthday Program एक बड़ा कार्य है। इसे छोटे-छोटे कार्यों में बाँटा जा सकता है:

  • सजावट (Decoration)
  • भोजन व्यवस्था (Food Arrangement)
  • संगीत व्यवस्था (Music Arrangement)
  • अतिथि स्वागत (Guest Management)

जब प्रत्येक कार्य अलग-अलग व्यक्तियों द्वारा किया जाता है तो कार्य अधिक व्यवस्थित और सरल हो जाता है।

ठीक इसी प्रकार Procedural Programming में एक बड़े Program को कई Functions में विभाजित किया जाता है।

महत्वपूर्ण बिंदु: Procedural Programming में Program को Functions में विभाजित किया जाता है ताकि Error ढूँढना और Program को Maintain करना आसान हो सके।

Functions की आवश्यकता क्यों होती है?

मान लीजिए आपके पास 1000 Lines का Program है।

यदि Program में Error आ जाए तो पूरी 1000 Lines की जाँच करनी पड़ेगी।

लेकिन यदि Program को 10 Functions में विभाजित कर दिया जाए और प्रत्येक Function में 100 Lines हों, तो Error ढूँढना कहीं अधिक आसान हो जाता है।

यही कारण है कि Functions आधुनिक Programming का महत्वपूर्ण भाग हैं।

Board Exam Tip: परीक्षा में अक्सर पूछा जाता है:
  • Program क्या है?
  • Programming क्या है?
  • Programming Language क्या है?
  • Programming Paradigm क्या होता है?
  • Procedural Programming की विशेषताएँ लिखिए।
इन परिभाषाओं को अवश्य तैयार करें।

इस अध्याय में आगे क्या सीखेंगे?

अब तक आपने Programming, Program, Programming Language और Procedural Programming का आधार समझ लिया है।

अगले भाग में हम विस्तार से समझेंगे:

  • Top Down Approach
  • Procedural Programming की सीमाएँ
  • Object Oriented Programming की आवश्यकता
  • Object क्या होता है?
  • Real Life Examples द्वारा OOP Concept

यहीं से Object Oriented Programming की वास्तविक यात्रा शुरू होती है, जो आधुनिक Software Development की रीढ़ मानी जाती है।

Top Down Approach क्या होती है?

प्रिय विद्यार्थियों, पिछले सेक्शन में हमने जाना कि Procedural Programming में बड़े Program को छोटे-छोटे Functions में विभाजित किया जाता है। अब प्रश्न यह है कि किसी बड़े Program को छोटे भागों में कैसे विभाजित किया जाए? इसी समस्या का समाधान Top Down Approach प्रदान करती है।

Top Down Approach एक ऐसी तकनीक है जिसमें किसी बड़ी समस्या को पहले समझा जाता है और फिर उसे छोटे-छोटे भागों में बाँटकर हल किया जाता है।

सरल परिभाषा: Top Down Approach में बड़ी समस्या → छोटे कार्य → और छोटे कार्य → अंततः छोटे Functions में विभाजित किए जाते हैं।

Real Life Example – Birthday Party

मान लीजिए आपको एक Birthday Party आयोजित करनी है। पूरी Birthday Party एक बड़ी समस्या (Main Task) है। अब इस बड़ी समस्या को छोटे भागों में विभाजित किया जा सकता है।

Main Task Sub Tasks
Birthday Party Decoration
Birthday Party Food Arrangement
Birthday Party Music System
Birthday Party Guest Management
Birthday Party Cake Arrangement

अब प्रत्येक Sub Task को अलग व्यक्ति संभाल सकता है। इसी प्रकार Computer Program को भी Functions में विभाजित किया जाता है।

Procedural Programming क्या है?

Procedural Programming एक Programming Paradigm है जिसमें Program को Functions और Procedures के रूप में विकसित किया जाता है।

इसमें पूरा ध्यान इस बात पर होता है कि "कार्य कैसे किया जाएगा"।

C Language Procedural Programming का सबसे प्रसिद्ध उदाहरण है।

Definition: Procedural Programming वह Programming Technique है जिसमें Program को कई छोटे Functions में विभाजित करके विकसित किया जाता है।

Procedural Programming का कार्य करने का तरीका

Procedural Programming Step by Step तरीके से कार्य करती है। Program ऊपर से नीचे की ओर Execute होता है। इसी कारण इसे कई बार Top Down Programming भी कहा जाता है।

उदाहरण के लिए यदि हमें Student Result बनाना है तो हम Program को निम्न Functions में बाँट सकते हैं:

  • Input Student Data
  • Calculate Total Marks
  • Calculate Percentage
  • Generate Result
  • Display Output

प्रत्येक Function अलग कार्य करेगा और अंत में पूरा Program तैयार हो जाएगा।

Procedural Programming के लाभ (Advantages)

Advantage Explanation
Easy Understanding छोटे Functions के कारण Program समझना आसान होता है।
Easy Testing हर Function को अलग-अलग Test किया जा सकता है।
Easy Debugging Error जल्दी खोजी जा सकती है।
Code Reusability Functions को बार-बार उपयोग किया जा सकता है।
Easy Maintenance Program में बदलाव करना आसान होता है।

Procedural Programming की सीमाएँ (Limitations)

जब Program छोटा होता है तब Procedural Programming बहुत अच्छी तरह काम करती है। लेकिन जैसे-जैसे Program का आकार बढ़ता है, कुछ समस्याएँ उत्पन्न होने लगती हैं।

Limitation Problem
Large Programs बहुत बड़े Program को संभालना कठिन हो जाता है।
Data Security Data आसानी से Modify हो सकता है।
Code Complexity Program जटिल होता जाता है।
Low Reusability कुछ परिस्थितियों में Code Reuse कठिन हो जाता है।
Real World Mapping वास्तविक जीवन की Objects को Represent करना कठिन होता है।
महत्वपूर्ण: इन्हीं समस्याओं को दूर करने के लिए Object Oriented Programming (OOP) का विकास किया गया।

Procedural Programming Example

मान लीजिए हमें किसी विद्यार्थी का Result बनाना है। Procedural Programming में Program इस प्रकार विभाजित किया जा सकता है:

  • getMarks()
  • calculateTotal()
  • calculatePercentage()
  • displayResult()

प्रत्येक Function अपना कार्य करेगा। अंत में सभी Functions मिलकर पूरा Result तैयार करेंगे।

Board Exam Important Questions

  • Top Down Approach क्या है?
  • Procedural Programming क्या है?
  • Procedural Programming के लाभ लिखिए।
  • Procedural Programming की सीमाएँ लिखिए।
  • Birthday Party Example द्वारा Top Down Approach समझाइए।
  • Function क्या होता है?
  • Program को Functions में क्यों विभाजित किया जाता है?

Section Summary

✔ Top Down Approach बड़ी समस्या को छोटे भागों में विभाजित करती है।

✔ Procedural Programming Functions पर आधारित होती है।

✔ C Language Procedural Programming का प्रमुख उदाहरण है।

✔ छोटे Programs के लिए Procedural Programming प्रभावी होती है।

✔ बड़े Software Projects में इसकी कुछ सीमाएँ होती हैं।

✔ इन्हीं सीमाओं को दूर करने के लिए OOP विकसित की गई।

Object Oriented Programming (OOP) की आवश्यकता क्यों पड़ी?

प्रिय विद्यार्थियों, पिछले सेक्शन में हमने Procedural Programming की सीमाओं को समझा था। छोटे Programs के लिए Procedural Programming अच्छी थी, लेकिन जैसे-जैसे Software बड़े और जटिल होते गए, नई समस्याएँ सामने आने लगीं।

उदाहरण के लिए Banking Software, Railway Reservation System, Hospital Management System, E-Commerce Websites और Social Media Platforms जैसे बड़े Applications को केवल Functions के आधार पर संभालना कठिन हो गया।

इसी समस्या को हल करने के लिए Object Oriented Programming अर्थात OOP का विकास किया गया।

Definition: Object Oriented Programming (OOP) एक Programming Paradigm है जिसमें Program को Objects के रूप में Design और Develop किया जाता है।

Object क्या होता है?

OOP को समझने का सबसे आसान तरीका Real Life Examples हैं। अपने आसपास देखिए— Mobile Phone, Car, Student, Teacher, Laptop, Book, Fan आदि सभी Objects हैं।

हर Object के दो मुख्य भाग होते हैं:

  • Attributes (Properties)
  • Behaviour (Actions)

Real Life Example – Student Object

Attributes Behaviour
Name Study()
Roll Number Write Exam()
Class Read Book()
Age Attend Class()
Marks Submit Assignment()

यहाँ Student एक Object है। Name, Roll Number, Age, Class आदि उसकी Properties या Attributes हैं। जबकि Study करना, Exam देना और Assignment जमा करना उसका Behaviour है।

Real Life Example – Car Object

Attributes Behaviour
Color Start()
Model Stop()
Speed Accelerate()
Fuel Type Brake()
Company Turn()

Car भी एक Object है। उसका रंग, मॉडल और स्पीड उसकी विशेषताएँ (Attributes) हैं जबकि Start करना, Stop करना और Brake लगाना उसका Behaviour है।

Attributes क्या होते हैं?

किसी Object की पहचान बताने वाली विशेषताओं को Attributes कहा जाता है।

उदाहरण: Student Object के लिए:

  • Name
  • Age
  • Roll Number
  • Marks
  • Class

ये सभी Student की पहचान बताते हैं, इसलिए ये Attributes कहलाते हैं।

Remember: Attributes = Data + Properties + Characteristics

Behaviour क्या होता है?

Object जो कार्य करता है उसे Behaviour कहते हैं।

उदाहरण: Student पढ़ता है, परीक्षा देता है, Assignment जमा करता है। ये सभी Actions हैं और इन्हें Behaviour कहा जाता है।

Programming में Behaviours को Methods या Functions के रूप में लिखा जाता है।

Remember: Behaviour = Actions + Methods + Functions

Class क्या होती है?

अब एक महत्वपूर्ण प्रश्न आता है— यदि Object वास्तविक चीज है तो Class क्या है?

Class एक Blueprint या Template होती है।

जैसे किसी मकान को बनाने से पहले उसका नक्शा तैयार किया जाता है। वह नक्शा स्वयं मकान नहीं होता, बल्कि मकान बनाने की योजना होती है।

ठीक उसी प्रकार Class किसी Object का Blueprint होती है।

Simple Definition: Class एक Blueprint है जबकि Object उस Blueprint से बनी वास्तविक Entity है।

Class और Object में अंतर

Class Object
Blueprint Real Entity
Logical Concept Physical Concept
Memory नहीं लेती Memory लेता है
Template होती है Instance होता है
Definition Implementation

OOP के मुख्य लाभ

Feature Benefit
Modularity Program छोटे Objects में विभाजित हो जाता है।
Reusability Code बार-बार उपयोग किया जा सकता है।
Security Data अधिक सुरक्षित रहता है।
Maintainability Program को Update करना आसान होता है।
Real World Mapping वास्तविक दुनिया की Objects को आसानी से Represent किया जा सकता है।

OOP क्यों लोकप्रिय है?

आज लगभग सभी आधुनिक Programming Languages OOP को Support करती हैं।

  • Python
  • Java
  • C++
  • C#
  • PHP
  • JavaScript

बड़े Software Systems को Manage करने के लिए OOP सबसे लोकप्रिय Approach बन चुकी है।

Board Exam Important Questions

  • Object Oriented Programming क्या है?
  • Object क्या होता है?
  • Class क्या होती है?
  • Attributes और Behaviour में अंतर लिखिए।
  • Class और Object में अंतर बताइए।
  • Student Object का उदाहरण दीजिए।
  • Car Object का उदाहरण दीजिए।
  • OOP की आवश्यकता क्यों पड़ी?
  • OOP के लाभ लिखिए।

Section Summary

✔ OOP Objects पर आधारित Programming Paradigm है।

✔ Object के दो भाग होते हैं – Attributes और Behaviour।

✔ Class किसी Object का Blueprint होती है।

✔ Object Class का Instance होता है।

✔ OOP बड़े Software Systems को Manage करना आसान बनाती है।

✔ Python, Java और C++ जैसी भाषाएँ OOP को Support करती हैं।

OOP के चार मुख्य स्तम्भ (Four Pillars of OOP)

प्रिय विद्यार्थियों, Object Oriented Programming की शक्ति उसके चार मुख्य Features में छिपी हुई है। इन्हीं Features के कारण OOP दुनिया की सबसे लोकप्रिय Programming Approaches में से एक बन गई है।

Four Pillars of OOP:
  • Encapsulation
  • Abstraction
  • Inheritance
  • Polymorphism

1. Encapsulation (डेटा को सुरक्षित रखना)

Encapsulation का अर्थ होता है Data और Methods को एक ही Unit अर्थात Class के अंदर बाँधकर रखना।

इसे सरल भाषा में "Data Hiding" भी कहा जाता है।

जैसे ATM Machine में आपका Bank Balance सुरक्षित रहता है। आप केवल आवश्यक जानकारी देख सकते हैं लेकिन पूरा Banking System नहीं देख सकते।

Definition: Data और Functions को एक ही Class में Bundle करना Encapsulation कहलाता है।

Python Example

class Student:     def __init__(self,name):         self.name=name s1=Student("Ravi") print(s1.name)

यहाँ Student Class के अंदर Data और Methods दोनों रखे गए हैं। यही Encapsulation का उदाहरण है।

2. Abstraction (केवल आवश्यक जानकारी दिखाना)

Abstraction का अर्थ है केवल महत्वपूर्ण जानकारी दिखाना और अनावश्यक विवरण छिपा लेना।

उदाहरण: जब आप Car चलाते हैं तो केवल Steering, Brake और Accelerator का उपयोग करते हैं। आपको Engine के अंदर क्या चल रहा है यह जानने की आवश्यकता नहीं होती।

Definition: केवल आवश्यक Features को दिखाना तथा Internal Details को छिपाना Abstraction कहलाता है।

Real Life Example

Object User क्या देखता है? क्या छिपा रहता है?
ATM Balance, Withdrawal Bank Database
Mobile Phone Apps, Calls Internal Circuit
Car Steering, Brake Engine Working

3. Inheritance (गुणों को विरासत में प्राप्त करना)

Inheritance OOP का सबसे महत्वपूर्ण Feature माना जाता है।

Inheritance का अर्थ है कि एक Class दूसरी Class के Properties और Methods को प्राप्त कर सकती है।

इसे Real Life में माता-पिता से मिलने वाले गुणों की तरह समझ सकते हैं।

Definition: एक Class द्वारा दूसरी Class के Properties और Methods को प्राप्त करना Inheritance कहलाता है।

Real Life Example

Parent Class Child Class
Vehicle Car
Vehicle Bike
Animal Dog
Animal Cat

Python Example

class Vehicle:     def start(self):         print("Vehicle Started") class Car(Vehicle):     pass c=Car() c.start()

यहाँ Car Class ने Vehicle Class के Method को Inherit किया है।

4. Polymorphism (एक कार्य, अनेक रूप)

Poly का अर्थ है "Many" और Morphism का अर्थ है "Forms"।

अर्थात एक ही Method विभिन्न परिस्थितियों में अलग-अलग व्यवहार कर सकता है।

इसे "One Interface, Multiple Forms" भी कहा जाता है।

Definition: एक ही Function या Method का अलग-अलग परिस्थितियों में अलग व्यवहार करना Polymorphism कहलाता है।

Real Life Example

Person Behaviour
Teacher Teach()
Student Study()
Doctor Treat Patient()

Python Example

print(5+5) print("India"+"Dada")

यहाँ + Operator Numbers को जोड़ता है तथा Strings को Concatenate करता है। यही Polymorphism है।

चारों Features का Comparison

Feature Purpose
Encapsulation Data Security
Abstraction Complexity कम करना
Inheritance Code Reusability
Polymorphism Flexibility

Board Exam Important Questions

  • Encapsulation क्या है?
  • Abstraction क्या है?
  • Inheritance क्या है?
  • Polymorphism क्या है?
  • Four Pillars of OOP लिखिए।
  • Inheritance का उदाहरण दीजिए।
  • Encapsulation और Abstraction में अंतर लिखिए।
  • Polymorphism का Real Life Example दीजिए।
  • OOP Features के लाभ लिखिए।

Quick Revision Notes

✔ Encapsulation = Data + Methods Together

✔ Abstraction = Hide Internal Details

✔ Inheritance = Reuse Existing Code

✔ Polymorphism = One Function, Multiple Forms

✔ OOP बड़े Software Projects के लिए सबसे उपयुक्त Approach है।

Exception Handling in Python

जब हम कोई Python Program चलाते हैं, तो कई बार Program अचानक रुक जाता है। इसका कारण Errors और Exceptions होते हैं। यदि Program को सुरक्षित और Professional बनाना है, तो Exception Handling का उपयोग किया जाता है।

Definition: Program Execution के दौरान आने वाली समस्याओं को Handle करने की प्रक्रिया को Exception Handling कहते हैं।

Error और Exception में अंतर

बहुत से विद्यार्थी Error और Exception को एक ही समझते हैं, जबकि दोनों में अंतर होता है।

Error Exception
Program में गंभीर गलती Runtime के दौरान आने वाली समस्या
Program Run नहीं होता Program Run होता है लेकिन समस्या आती है
Syntax Error ZeroDivisionError

Common Python Exceptions

  • ZeroDivisionError
  • NameError
  • TypeError
  • ValueError
  • IndexError
  • KeyError
  • ImportError
  • FileNotFoundError

Try and Except Block

Python में Errors को Handle करने के लिए try और except का उपयोग किया जाता है।

try:     a = 10     b = 0     print(a/b) except ZeroDivisionError:     print("Division by Zero Not Allowed")

यदि User 0 से Divide करेगा तो Program Crash नहीं होगा बल्कि Error Message दिखाएगा।

Finally Block

Finally Block हमेशा Execute होता है, चाहे Error आए या न आए।

try:     print(10/2) except:     print("Error") finally:     print("Program Ended")
Important: Finally Block Database Connection, File Closing और Resource Management के लिए उपयोग किया जाता है।

Raise Statement

Raise Statement का उपयोग Custom Exception बनाने के लिए किया जाता है।

age = 15 if age < 18:     raise Exception("Not Eligible")

यहाँ Program स्वयं Exception Generate कर रहा है।

Assert Statement

Assert का उपयोग किसी Condition को Check करने के लिए किया जाता है।

age = 20 assert age >= 18 print("Eligible")

यदि Condition False होगी तो Assertion Error Generate होगी।

Board Exam MCQ Questions

Q1. Exception Handling किस भाषा का Feature है?

(A) HTML
(B) Python
(C) CSS
(D) XML

Answer: (B) Python
Q2. Division by Zero कौन-सी Exception उत्पन्न करती है?

(A) ValueError
(B) NameError
(C) ZeroDivisionError
(D) TypeError

Answer: (C) ZeroDivisionError
Q3. Finally Block कब Execute होता है?

(A) केवल Error आने पर
(B) केवल Error न आने पर
(C) हमेशा
(D) कभी नहीं

Answer: (C) हमेशा

Previous Year Important Questions

  • Exception Handling क्या है?
  • Error और Exception में अंतर लिखिए।
  • Try और Except Block समझाइए।
  • Finally Block का उपयोग लिखिए।
  • Raise Statement क्या है?
  • Assert Statement क्या है?
  • ZeroDivisionError क्या होती है?
  • Python Exceptions के उदाहरण लिखिए।

Frequently Asked Questions (FAQ)

Q. Exception Handling क्यों आवश्यक है?

यह Program को Crash होने से बचाती है और User Friendly Output प्रदान करती है।

Q. Python में Exception Handling के लिए कौन-से Keywords उपयोग होते हैं?

try, except, finally, raise और assert।

Q. Runtime Error क्या है?

Program Execute होने के दौरान आने वाली Error को Runtime Error कहते हैं।

Complete Chapter Quick Revision

✔ Programming = Instructions लिखने की प्रक्रिया

✔ Procedural Programming = Functions आधारित Programming

✔ OOP = Objects आधारित Programming

✔ Class = Blueprint

✔ Object = Class का Instance

✔ Encapsulation = Data Security

✔ Abstraction = Hide Details

✔ Inheritance = Reuse Code

✔ Polymorphism = Multiple Forms

✔ Exception Handling = Runtime Errors को Handle करना

Conclusion

इस अध्याय में आपने Programming Fundamentals से लेकर Object Oriented Programming और Python Exception Handling तक सभी महत्वपूर्ण Concepts सीखे। Class, Object, Encapsulation, Abstraction, Inheritance और Polymorphism आधुनिक Software Development की नींव हैं। वहीं Exception Handling Program को अधिक सुरक्षित, मजबूत और Professional बनाती है। यदि आप इस अध्याय के सभी Concepts, Examples, MCQ और Important Questions को अच्छी तरह तैयार कर लेते हैं, तो Board Exam में Object Oriented Programming और Exception Handling से जुड़े लगभग सभी प्रश्न आसानी से हल कर सकेंगे।

📚 INDIA DADA STUDY HUB

Continue Learning With IndiaDada

UPSC, SSC CGL, UPTET, Current Affairs, Government Jobs, School Education, Higher Education, Notes, PDF, MCQ, PYQ, Mock Tests और Exam Preparation की सम्पूर्ण सामग्री अब एक ही प्लेटफॉर्म पर।

🚀 Stay Connected With IndiaDada.com

Daily Current Affairs, UPSC, SSC CGL, UPTET, Government Jobs, Previous Year Papers, Notes, MCQ, Mock Tests तथा Latest Exam Updates प्राप्त करने के लिए IndiaDada.com के साथ जुड़े रहें।

Visit IndiaDada.com
```

Leave a Comment

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

Scroll to Top