Computer Class 12 GSEB Solutions Chapter 6 ઑબ્જેક્ટ આધારિત ખ્યાલો

Students frequently turn to Computer Class 12 GSEB Solutions and GSEB Computer Textbook Solutions Class 12 Chapter 6 ઑબ્જેક્ટ આધારિત ખ્યાલો for practice and self-assessment.

GSEB Computer Textbook Solutions Class 12 Chapter 6 ઑબ્જેક્ટ આધારિત ખ્યાલો

પ્રશ્ન 1.
ઑબ્જેક્ટ આધારિત પ્રોગ્રામિંગ ભાષામાં ઉપલબ્ધ લાક્ષણિકતાઓની યાદી બનાવો.
ઉત્તરઃ
ઑબ્જેક્ટ આધારિત પ્રોગ્રામિંગ ભાષાની લાક્ષણિકતાઓ (Characteristics of Object-oriented Programming Languages)
ઑબ્જેક્ટ આધારિત પ્રોગ્રામિંગ ભાષાની લાક્ષણિકતાઓ નીચે દર્શાવ્યા મુજબ છે :

  • ઑબ્જેક્ટ આધારિત પદ્ધતિમાં આપણા કેન્દ્રબિંદુએ ઑબ્જેક્ટ (Object) હોય છે, કે જે ડેટા તેમજ ક્રિયાત્મકતા (Functionality) એમ બંને એકસાથે ધરાવે છે. ઉદાહરણ તરીકે, પુસ્તકાલય વિનિયોગ બનાવવામાં આપણું ધ્યાન વિદ્યાર્થી, પુસ્તક અને ગ્રંથપાલ જેવા ઑબ્જેક્ટ ઉપર કેન્દ્રિત હોય છે.
  • ઑબ્જેક્ટ આધારિત પ્રોગ્રામિંગ ભાષાઓની તાકાત પ્રોગ્રામરને વિભાગીય (Modular), પુનઃઉપયોગમાં લઈ શકાય તેમજ તે પ્રોગ્રામનો વિકાસ કરી શકાય (Extendable) તે પ્રકારનો પ્રોગ્રામ કોડ લખવાનું સામર્થ્ય પૂરું પાડે છે.
  • સૉફ્ટવેરના અન્ય ભાગના કોડમાં ખલેલ પહોંચાડ્યા વગર મૉડ્યુલમાં ફેરફાર કરવા કે બદલવાની સમર્થતા વડે તે ભાષાને લવચીકતા (Flexibility) બક્ષે છે.
  • ઑબ્જેક્ટ આધારિત પ્રોગ્રામિંગ ઑબ્જેક્ટને પાયાના એકમ તરીકે વાપરે છે. એકસરખા ઑબ્જેક્ટનું ક્લાસ(Class)ના ખ્યાલ દ્વારા વર્ગીકરણ કરવામાં આવે છે.
  • ઑબ્જેક્ટ આધારિત પ્રોગ્રામિંગ ભાષામાં ઑબ્જેક્ટના ચાર ચોક્કસ ગુણધર્મો
    1. ઍન્સ્ટ્રક્શન (Abstraction),
    2. ઇકૅપ્સ્યુલેશન (Encapsulation),
    3. પૉલિમોર્ફિઝમ (Polymorphism) અને
    4. ઇન્ડેરિટન્સ (Inheritance) પૂરા પાડવામાં આવે છે.

Computer Class 12 GSEB Solutions Chapter 6 ઑબ્જેક્ટ આધારિત ખ્યાલો

પ્રશ્ન 2.
ક્લાસ અને ઑબ્જેક્ટનો તફાવત જણાવો.
ઉત્તરઃ
ઑબ્જેક્ટ (Object)

  • વાસ્તવિક વિશ્વમાં ઑબ્જેક્ટ એટલે ભૌતિક સ્વરૂપમાં હયાત હોય તે વસ્તુ. દા. ત., વ્યક્તિ, કાર કે કૉફીના પ્યાલા વગેરે.
  • જેને સ્પર્શ ન કરી શકાય અથવા જોઈ ન શકાય તેવી વસ્તુઓ અમૂર્ત સ્વરૂપે (Abstract) છે તેમ કહી શકાય. દા. ત., તારીખ, સમય વગેરે.
  • દરેક ઑબ્જેક્ટની એક અનન્ય ઓળખ હોય છે અને દરેક ઑબ્જેક્ટને તેની લાક્ષણિક્તા દ્વારા એકબીજાથી અલગ ઓળખી શકાય છે.
    દા. ત., દરેક વ્યક્તિનું નામ, શહેર, જાતિ, જન્મતારીખ, વ્યવસાય વગેરે.
  • ઑબ્જેક્ટ આધારિત પરિભાષામાં આવાં લક્ષણો પ્રૉપર્ટી (Property) અથવા ઍટ્રિબ્યુટ (Attribute) તરીકે ઓળખાય છે.

Computer Class 12 GSEB Solutions Chapter 6 ઑબ્જેક્ટ આધારિત ખ્યાલો 1

  • આમ, આપણે ઑબ્જેક્ટને ઓળખવા માટે આ લાક્ષણિકતા(Attribute)ની કિંમત વાપરીએ છીએ. આ કિંમતો સ્ટેટ (State) તરીકે ઓળખાય છે.

Computer Class 12 GSEB Solutions Chapter 6 ઑબ્જેક્ટ આધારિત ખ્યાલો 2

  • ઑબ્જેક્ટ સાથે બિહેવીયર (Behaviour) સંકળાયેલ હોય છે. ઉદાહરણ તરીકે, વ્યક્તિ જન્મ લે છે, નામ મેળવે છે, સ્થાન બદલે છે. આ બિહેવીયર મેથડ (Method) તરીકે પણ ઓળખાય છે. ઑબ્જેક્ટની કિંમત તેની બિહેવીયરના કારણે બદલાઈ શકે છે.
  • ઑબ્જેક્ટ આધારિત પ્રોગ્રામિંગમાં ઑબ્જેક્ટનું વર્ણન કરતી જુદી જુદી લાક્ષણિકતાઓ ડેટા ફિલ્ડ (Data field) તરીકે પણ ઓળખવામાં આવે છે.
  • ઑબ્જેક્ટ સાથે સંકળાયેલા વિવિધ ડેટા ઍટ્રિબ્યૂટ અને બિહેવીયર મેથડને સામૂહિક રીતે તેના મેમ્બર તરીકે ઓળખવામાં આવે છે.

Computer Class 12 GSEB Solutions Chapter 6 ઑબ્જેક્ટ આધારિત ખ્યાલો 3

ક્લાસ (Class)

  • ઉપર જણાવેલા વ્યક્તિ (Person) ઑબ્જેક્ટના ઉદાહરણમાં જોઈ શકાય છે કે કેટલાક ઑબ્જેક્ટ એકસરખી લાક્ષણિકતા અને બિહેવીયર ધરાવતા હોય પણ તેના સ્ટેટ એકબીજાથી જુદા પડે છે.
  • ઑબ્જેક્ટ આધારિત પદ્ધતિ ક્લાસ(Class)ના ખ્યાલનો ઉપયોગ કરે છે, જે ફક્ત તેના ઍટ્રિબ્યુટની કિંમતોથી અલગ હોય તેવા અમૂર્ત ઑબ્જેક્ટને અભિવ્યક્ત કરવામાં સમર્થ બનાવે છે.
  • ક્લાસને અનેક જુદા જુદા ઑબ્જેક્ટની એક બ્લૂ પ્રિન્ટ (નકશા) તરીકે ગણી શકાય.
  • ક્લાસ એ એકસમાન લક્ષણો ધરાવતા ઑબ્જેક્ટનું એક ટેમ્પ્લેટ (Template) છે, કે જે એકસમાન ઍટ્રિબ્યૂટ અને બિહેવીયર ધરાવતા વિવિધ ઑબ્જેક્ટનું એક જૂથ છે.
  • આકૃતિ માં ક્લાસ અને તેના ઑબ્જેક્ટનો તફાવત દર્શાવેલ છે.

Computer Class 12 GSEB Solutions Chapter 6 ઑબ્જેક્ટ આધારિત ખ્યાલો 4

  • આકૃતિ માં Person એક ક્લાસ (Class) છે, જેમાં બધી વ્યક્તિઓના સામાન્ય ઍટ્રિબ્યૂટ અને બિહેવીયરનો સમાવેશ કરવામાં આવેલ છે.

પ્રશ્ન 3.
‘ઇન્સ્યુલેશન’ અને ડેટા ઍક્સ્ટ્રક્શન’ વચ્ચેની ભિન્નતા જણાવો.
ઉત્તરઃ
ઇપ્સ્યુલેશને (Encapulation)

  • પ્રક્રિયાગત પ્રોગ્રામિંગ(Procedural Programming)માં પ્રોગ્રામના કોઈ પણ ભાગમાં ડેટાની કિંમત બદલી શકાય છે. તે ફેરફારથી સુરક્ષિત નથી. આ સમસ્યાનો ઉકેલ ઑબ્જેક્ટ આધારિત પ્રોગ્રામિંગમાં ઇન્કેપ્સ્યુલેશન દ્વારા મેળવી શકાય છે.
  • ઇન્કેપ્સ્યુલેશન દ્વારા ડેટા અને મેથડ વડે માહિતીની ગણતરી થાય તે સમયે પ્રોગ્રામના અન્ય ઘટકો વડે ડેટામાં ફેરફાર સામે સુરક્ષિતતા બક્ષવામાં આવે છે.
  • એવા પ્રકારની રચના કે જેના દ્વારા ડેટા અને મેથડ સામે રક્ષણ પૂરું પાડવામાં આવે છે, તેને ઇન્કેપ્સ્યુલેશન (Encapsulation) કહેવામાં આવે છે.
  • ઇન્કેપ્સ્યુલેશન ક્લાસને અંગત (Private) ઘોષિત કરવાથી શક્ય બને છે, જેથી ક્લાસના અંગત સભ્ય (Private members) બહારના વિશ્વને સીધા ઉપલબ્ધ થતા નથી. જો તેની જરૂર હોય, તો સાર્વજનિક મેથડ (Public method) વડે ડેટાને ઉપલબ્ધ બનાવી શકાય છે.
  • ઇન્કેપ્સ્યુલેશન ડેટાને છુપાવવાની ક્ષમતા પૂરી પાડે છે.

ડેટા ઍક્સ્ટ્રક્શન (Data Abstraction)

  • ડેટા ઍબ્જેક્શન એ ઑબ્જેક્ટની જરૂરી લાક્ષણિકતાઓને તેના અમલીકરણની વિગત સિવાયની માહિતીને રજૂ કરવાની પ્રક્રિયા છે.
  • ઍન્સ્ટ્રક્શન એક ખ્યાલ છે. તે જે કાર્ય કરે છે, તે જણાવે છે. પરંતુ કાર્ય કઈ રીતે કરે છે, તે જણાવતો નથી.
  • ઉદાહરણ તરીકે, આપણે જ્યારે C પ્રોગ્રામિંગમાં sqrt(25) અને printf(“Hello World”) જેવા વિધેયનો ઉપયોગ કરીએ છીએ ત્યારે તે કાર્ય કેવી રીતે કરે છે તે આપણે જાણતા નથી, પરંતુ કાર્ય થાય છે.
  • જરૂરી નિવેશ ડેટા પ્રાચલો (Input data variables) સાથે ઉપયોગકર્તા નિર્મિત (User defined) વિધેય પણ ડેટા ઍક્સ્ટ્રક્શન પૂરું પાડે છે.
  • ડેટા ઍન્સ્ટ્રક્શન આપણને વાપરવા માટેની એક રૂપરેખા કે ઢાંચો (Templates) પૂરો પાડે છે. સિસ્ટમમાં ડેટાનો સંગ્રહ, નિર્માણ અને જાળવણી કઈ રીતે થાય છે તેની કેટલીક માહિતી ગુપ્ત રાખે છે.
  • C અને C++ના ઍબ્જેક્ટ ડેટા ટાઇપ્સ (Abstract Data Types – ADT) અથવા સ્ટ્રક્ચર (Structures) અને C++ અથવા જાવાના ક્લાસ એ ડેટા ઍક્સ્ટ્રક્શનનાં ઉદાહરણ છે.
  • ડેટા ઇન્કેપ્સ્યુલેશન પ્રોગ્રામની બહારથી ડેટા મેળવવાનું અટકાવી ડેટાને સુરક્ષિત કરે છે, જ્યારે ડેટા ઍક્સ્ટ્રક્શન પ્રક્રિયાના અમલીકરણની માહિતીને ગુપ્ત રાખીને ડેટાની રજૂઆત વડે ડેટાને સુરક્ષિત બનાવે છે.

મેસેજિંગ (Messaging)

  • ઑબ્જેક્ટ આધારિત પરિભાષામાં મેથડ (Method) બોલાવવાની ક્રિયાને મેસેજિંગ (Messaging) કહેવામાં આવે છે.
  • ઑબ્જેક્ટ આધારિત પ્રોગ્રામિંગમાં ઇન્કેપ્સ્યુલેશનને કારણે બધી મેથડ કોલનું નિયંત્રણ ઑબ્જેક્ટ વડે જ થાય છે.
  • જુદા જુદા ક્લાસમાં એકસરખાં નામ ધરાવતી એકસરખી મેથડ હોઈ શકે છે. દા. ત., date ક્લાસમાં display નામની મેથડ છે. તેવી જ રીતે time અને person નામના ક્લાસમાં પણ display નામની મેથડ હોઈ શકે છે.
  • જ્યારે પ્રોગ્રામમાં display મેથડ વાપરવામાં આવે છે ત્યારે તે જે ઑબ્જેક્ટ દ્વારા બોલાવવામાં આવે છે તે કયા ક્લાસનો છે તેના દ્વારા કઈ display મેથડનો અમલ કરવો તે નક્કી કરવામાં આવે છે.
  • ઉદાહરણ તરીકે, જો ‘Person’ ક્લાસના ઑબ્જેક્ટ વડે display વપરાય, તો તે ‘Person’ ક્લાસની display મેથડનો અમલ કરશે.

Computer Class 12 GSEB Solutions Chapter 6 ઑબ્જેક્ટ આધારિત ખ્યાલો

પ્રશ્ન 4.
પૉલિમોર્ફિઝમનો અર્થ શો છે? પૉલિમોર્ફિઝમ મેળવવા માટે વપરાતા બે પ્રકારના ઓવરલોડિંગનાં નામ જણાવો.
ઉત્તરઃ
પૉલિમોર્ફિઝમ (Polymorphism)

  • પૉલિમોર્ફિઝમ એટલે ‘અનેક સ્વરૂપ’ કે ‘બહુરૂપતા’.
  • એક જ મેથડના જુદા જુદા સ્વરૂપ હોય તેને પૉલિમોર્ફિઝમ કહે છે.
  • ઉદાહરણ તરીકે, એક max વિધેય લખેલું છે, કે જે બે પૂર્ણાંક સંખ્યામાંથી મોટી સંખ્યાની કિંમત પરત કરે છે. જ્યારે max નામનું જ બીજું વિધેય લખેલું હોય કે જે કોઈ ઍરે(Array)માં સંગ્રહ કરેલી પૂર્ણાંક સંખ્યાઓમાંથી મહત્તમ સંખ્યા શોધે ત્યારે પૉલિમોર્ફિઝમ બને છે તેમ કહેવાય.
  • ઑબ્જેક્ટ આધારિત પ્રોગ્રામિંગ એક જ ક્લાસમાં એક કરતાં વધુ મેથડ (વિધેય) કે જેનાં નામ સરખાં હોય પણ સિગ્નેચરથી અલગ હોય તેને વ્યાખ્યાયિત કરવાની મંજૂરી આપે છે. આ લાક્ષણિકતાને ફંક્શન કે મેથડ ઓવરલોડિંગ (Function or method overloading) કહેવામાં આવે છે.
  • ઑબ્જેક્ટ આધારિત પ્રોગ્રામિંગ આ જ રીતે ઑપરેટર ઓવરલોડિંગ (Operator Overloading) કરવાની પણ મંજૂરી આપે છે.
  • ઉદાહરણ તરીકે, date1 – date2 તથા n1 – n2 બંને પદાવલિમાં ‘-‘ પ્રક્રિયા અલગ અલગ રીતે કાર્ય કરે છે.
  • આમ બે પ્રકારના ઓવરલોડિંગ વડે પૉલિમોર્ફિઝમ શક્ય બને છે.
    1. ફંક્શન ઓવરલોડિંગ (Function Overloading) અને
    2. ઑપરેટર ઓવરલોડિંગ (Operator Overloading).

પ્રશ્ન 5.
એગ્રિગેશન અને કમ્પોઝિશનનો ઉપયોગ સમજાવો.
ઉત્તરઃ
(i) એગ્રિગેશન અને કમ્પોઝિશન (Aggregation and Composition)

  • જ્યારે એક ક્લાસના ઑબ્જેક્ટ બીજા ક્લાસના ઑબ્જેક્ટ બનેલા હોય, ત્યારે તેને એગ્રિગેશન (Aggregation) અથવા કમ્પોઝિશન (Composition) કહેવામાં આવે છે.
  • એગ્રિગેશન અથવા કમ્પોઝિશન અલગ અલગ ક્લાસ વચ્ચેનો ‘પૂર્ણ’ અથવા ‘તેમાંનો અંશ’ સંબંધ રજૂ કરે છે.
  • હવે આપણે એગ્રિગેશન અને કમ્પોઝિશન સમજવા માટે અગાઉ બનાવેલ ‘Person’ ક્લાસમાં ફેરફાર કરીએ.
    સૌપ્રથમ આકૃતિ માં દર્શાવ્યા પ્રમાણે બે નવા ક્લાસ ‘Name’ અને ‘Address’ બનાવીએ.
  • આ ‘Name’ ક્લાસમાં firstname, middlename અને lastname ઍટ્રિબ્યુટ છે અને ‘Address’ ક્લાસમાં house, street, city, state અને pincode ઍટ્રિબ્યુટ છે.
  • હવે ‘Person’ ક્લાસમાં ઍટ્રિબ્યૂટનાં નામ Name અને Addressને બદલી અનુક્રમે nm અને addr રાખીએ. nm અને addrઍટ્રિબ્યૂટનો ડેટાપ્રકાર અનુક્રમે ‘Name’ અને ‘Address’ ક્લાસ છે. આ રીતે ‘Person’ ક્લાસમાં ‘Name’ અને ‘Address’ ક્લાસના ઑબ્જેક્ટ છે.

Computer Class 12 GSEB Solutions Chapter 6 ઑબ્જેક્ટ આધારિત ખ્યાલો 5

(ii) એગ્રિગેશન અને કમ્પોઝિશનની તુલના (Aggregation Vs Composition)

  • એગ્રિગેશન બે ક્લાસ વચ્ચેના ભિન્ન સંબંધને રજૂ કરે છે. એગ્રિગેશનમાં કોઈ ક્લાસ કે જે ઓનર ક્લાસનો એક ભાગ છે, તે સ્વતંત્ર રીતે અસ્તિત્વ ધરાવે છે. આ આંશિક ક્લાસ ઑબ્જેક્ટનો કાર્યકાળ ઓનર ક્લાસ(Owner class)થી નક્કી થતો નથી.
  • ઉદાહરણ તરીકે, આકૃતિ માં દર્શાવ્યા પ્રમાણે બે અથવા વધારે વ્યક્તિઓ address ઑબ્જેક્ટનો ઉપયોગ કરે છે. આથી address એ કોઈ એક જ વ્યક્તિ માટે હોય તે જરૂરી નથી.

Computer Class 12 GSEB Solutions Chapter 6 ઑબ્જેક્ટ આધારિત ખ્યાલો 6

  • આકૃતિ માં દર્શાવ્યા પ્રમાણે મૂળભૂત એગ્રિગેશનને પૂર્ણ ક્લાસને અડીને એક ખાલી (પોલા) હીરા ‘◊’ ના ચિહ્નનો ઉપયોગ કરીને બનાવવામાં આવે છે.

Computer Class 12 GSEB Solutions Chapter 6 ઑબ્જેક્ટ આધારિત ખ્યાલો 7

  • કમ્પોઝિશન બે ક્લાસ વચ્ચેનો અજોડ (Exclusive) સંબંધ જણાવે છે. કમ્પોઝિશન એક પ્રબળ કે મજબૂત પ્રકારનું એગ્રિગેશન છે, જેમાં આંશિક ક્લાસનો કાર્યકાળ ઓનર ક્લાસના અસ્તિત્વ પર આધારિત હોય છે.
  • એટલે કે જો એકત્ર ક્લાસ(Aggregating class)નો ઑબ્જેક્ટ દૂર કરવામાં આવે, તો તેના આંશિક ક્લાસ પણ નષ્ટ થશે.
  • ઉદાહરણ તરીકે, ‘Person’ ક્લાસનો કોઈ ઑબ્જેક્ટ ડિલીટ કરવામાં આવે, તો ‘Name’ ક્લાસનો ઑબ્જેક્ટ પણ નષ્ટ થશે.
  • કમ્પોઝિશનનો સંબંધ આકૃતિ માં દર્શાવ્યા પ્રમાણે એક ભરાયેલા (સોલિડ) હીરા ‘♦’ના ચિહ્નને પૂર્ણ ક્લાસને અડીને બતાવવામાં આવે છે.
  • આકૃતિ માં દર્શાવેલ ઉદાહરણમાં ‘Person’ ક્લાસ અને ‘Name’ક્લાસ વચ્ચેનો સંબંધ કમ્પોઝિશન રિલેશનશિપ છે, જ્યારે ‘Person’ ક્લાસ અને ‘Address’ ક્લાસ વચ્ચેનો સંબંધ એગ્રિગેશન રિલેશનશિપ છે.
  • એક જ ઍડ્રેસ એક કરતાં વધારે વ્યક્તિઓનું હોઈ શકે. આથી જ્યારે કોઈ વ્યક્તિ નષ્ટ કરવામાં આવે છે, ત્યારે તેને સુસંગત ‘Name’ ઑબ્જેક્ટને નષ્ટ કરવામાં આવે છે, પણ ‘Address’ નષ્ટ કરવામાં આવતું નથી.
  • યાદ રાખો :
(1) કોઈ ક્લાસ જ્યારે અન્ય ક્લાસના ઑબ્જેક્ટ ધરાવતો હોય જે ક્લાસ ઓનર ક્લાસમાં સમાયેલ છે. તેને ઓનર ક્લાસ (Owner class) અથવા પૂર્ણ ક્લાસ (Whole class) અથવા એકત્ર ક્લાસ (Aggregating class) કહે છે.
તેને સબ્જેક્ટ ક્લાસ (Subject class) અથવા આંશિક ક્લાસ (Part class) અથવા એકત્રિત ક્લાસ (Aggregated class) કહે છે.
કોઈ ક્લાસ જ્યારે અન્ય ક્લાસના ઑબ્જેક્ટ ધરાવતો હોય જે ક્લાસ ઓનર ક્લાસમાં સમાયેલ છે. તેને ઓનર ક્લાસ (Owner class) અથવા પૂર્ણ ક્લાસ (Whole class) અથવા એકત્ર ક્લાસ (Aggregating class) કહે છે.
તેને સબ્જેક્ટ ક્લાસ (Subject class) અથવા આંશિક ક્લાસ (Part class) અથવા એકત્રિત ક્લાસ (Aggregated class) કહે છે.

(2) ઉદાહરણમાં ‘Person’ ક્લાસ ઓનર ક્લાસ છે તથા ‘Name’ અને ‘Address’ સબ્જેક્ટ ક્લાસ છે.

Computer Class 12 GSEB Solutions Chapter 6 ઑબ્જેક્ટ આધારિત ખ્યાલો

પ્રશ્ન 6.
ઇન્ડેરિટન્સ ક્યારે વાપરવું જોઈએ? ઉદાહરણ આપો.
ઉત્તરઃ
ઇન્હેરિટન્સ (Inheritance)

  • ઇન્હેરિટન્સ અન્ય હયાત ક્લાસના ગુણધર્મોને વારસામાં મેળવીને ઑબ્જેક્ટના નવા ક્લાસને વ્યાખ્યાયિત કરવાના સામર્થ્યનો નિર્દેશ કરે છે.
  • ઇન્હેરિટન્સ સામાન્ય રીતે બે ક્લાસ વચ્ચે ‘એક પ્રકારનો’ (is-a-kind-of) સંબંધ જણાવે છે.
  • ઉદાહરણ તરીકે, ‘Person’ ક્લાસના બધા ઍટ્રિબ્યુટ અને મેથડ Teacher’ ક્લાસને વારસામાં મળે છે. આ ઉપરાંત Teacher’ ક્લાસના વધારાના ઍટ્રિબ્યુટ જેવા કે, Sujbect અને મેથડ જેમ કે વિષયનાં lecture હોઈ શકે છે. આવા સંજોગોમાં ‘Person’ ક્લાસનો ઉપયોગ કરીને “Teacher ક્લાસ વ્યાખ્યાયિત કરી શકાય છે.
  • ઑબ્જેક્ટ આધારિત પરિભાષામાં નવા ક્લાસ(Teacher class’)ને સબક્લાસ અથવા ચાઇલ્ડ ક્લાસ અથવા ડિરાઇવ્ડ ક્લાસ (Derived class) કહે છે. જ્યારે હયાત ક્લાસ(Person class’)ને સુપરક્લાસ અથવા પૅરેન્ટ ક્લાસ અથવા બેઇઝ ક્લાસ (Base class) કહે છે.
  • ક્લાસ ડાયાગ્રામમાં ઇન્હેરિટન્સ બતાવવા માટે આકૃતિ માં દર્શાવ્યા પ્રમાણે સુપરક્લાસ (પેરેન્ટ ક્લાસ) તરફ નિર્દેશિત કરતા તીરનો ઉપયોગ કરવામાં આવે છે.

Computer Class 12 GSEB Solutions Chapter 6 ઑબ્જેક્ટ આધારિત ખ્યાલો 8

  • ઇન્હેરિટન્સના મુખ્યત્વે બે પ્રકાર છે :
    1. સિંગલ લેવલ ઇન્હેરિટન્સ (આકૃતિ પ્રમાણે)
    2. મલ્ટિલેવલ ઇન્હેરિટન્સ (આકૃતિ પ્રમાણે)

Computer Class 12 GSEB Solutions Chapter 6 ઑબ્જેક્ટ આધારિત ખ્યાલો 9

  • અમુક સમયે વિવિધ ક્લાસ વચ્ચે ઇન્હેરિટન્સનો આદર્શ પદાનુક્રમ હોઈ શકે.
  • ઉદાહરણ તરીકે, ‘Person’ ક્લાસમાંથી ‘Employee’ ક્લાસ મેળવી શકાય અને પછી ‘Employee’ ક્લાસમાંથી Teacher’ ક્લાસ મેળવી શકાય.
  • આ પ્રકારના ઇન્હેરિટન્સ મલ્ટિલેવલ ઇન્હેરિટન્સ કહેવાય છે. (જુઓ આકૃતિ)

કમ્પોઝિશન અને ઇન્હેરિટન્સની તુલના (Composition Vs Inheritance)

  • ઇન્ડેરિટન્સમાં ક્લાસની ક્રિયાત્મકતા (Functionality) ભેગી વાપરવા, પુનઃઉપયોગ કરવા અથવા વધારવા માટે અન્ય ક્લાસમાંથી વારસામાં મેળવે છે. અહીં સુપરક્લાસ અને સબક્લાસ વચ્ચે ‘એક પ્રકારનો’ (a-kind-of) સંબંધ હોય છે.
  • કમ્પોઝિશનમાં ક્લાસ અન્ય ક્લાસમાંથી વારસામાં બનતો નથી, પણ બીજા ક્લાસ વડે ‘બનેલો’ (‘Composed of’) હોય છે. ક્લાસ અમુક ઍટ્રિબ્યૂટ ધરાવે છે, જેમાંના કેટલાક બીજા પ્રકારના ક્લાસના હોય છે.

પ્રશ્ન 7.
વિવિધ પ્રકારના ઇન્હેરિટન્સ સમજાવો.
ઉત્તરઃ
ઇન્હેરિટન્સ (Inheritance)

  • ઇન્હેરિટન્સ અન્ય હયાત ક્લાસના ગુણધર્મોને વારસામાં મેળવીને ઑબ્જેક્ટના નવા ક્લાસને વ્યાખ્યાયિત કરવાના સામર્થ્યનો નિર્દેશ કરે છે.
  • ઇન્હેરિટન્સ સામાન્ય રીતે બે ક્લાસ વચ્ચે ‘એક પ્રકારનો’ (is-a-kind-of) સંબંધ જણાવે છે.
  • ઉદાહરણ તરીકે, ‘Person’ ક્લાસના બધા ઍટ્રિબ્યુટ અને મેથડ Teacher’ ક્લાસને વારસામાં મળે છે. આ ઉપરાંત Teacher’ ક્લાસના વધારાના ઍટ્રિબ્યુટ જેવા કે, Sujbect અને મેથડ જેમ કે વિષયનાં lecture હોઈ શકે છે. આવા સંજોગોમાં ‘Person’ ક્લાસનો ઉપયોગ કરીને “Teacher ક્લાસ વ્યાખ્યાયિત કરી શકાય છે.
  • ઑબ્જેક્ટ આધારિત પરિભાષામાં નવા ક્લાસ(Teacher class’)ને સબક્લાસ અથવા ચાઇલ્ડ ક્લાસ અથવા ડિરાઇવ્ડ ક્લાસ (Derived class) કહે છે. જ્યારે હયાત ક્લાસ(Person class’)ને સુપરક્લાસ અથવા પૅરેન્ટ ક્લાસ અથવા બેઇઝ ક્લાસ (Base class) કહે છે.
  • ક્લાસ ડાયાગ્રામમાં ઇન્હેરિટન્સ બતાવવા માટે આકૃતિ માં દર્શાવ્યા પ્રમાણે સુપરક્લાસ (પેરેન્ટ ક્લાસ) તરફ નિર્દેશિત કરતા તીરનો ઉપયોગ કરવામાં આવે છે.

Computer Class 12 GSEB Solutions Chapter 6 ઑબ્જેક્ટ આધારિત ખ્યાલો 8

  • ઇન્હેરિટન્સના મુખ્યત્વે બે પ્રકાર છે :
    1. સિંગલ લેવલ ઇન્હેરિટન્સ (આકૃતિ પ્રમાણે)
    2. મલ્ટિલેવલ ઇન્હેરિટન્સ (આકૃતિ પ્રમાણે)

Computer Class 12 GSEB Solutions Chapter 6 ઑબ્જેક્ટ આધારિત ખ્યાલો 9

  • અમુક સમયે વિવિધ ક્લાસ વચ્ચે ઇન્હેરિટન્સનો આદર્શ પદાનુક્રમ હોઈ શકે.
  • ઉદાહરણ તરીકે, ‘Person’ ક્લાસમાંથી ‘Employee’ ક્લાસ મેળવી શકાય અને પછી ‘Employee’ ક્લાસમાંથી Teacher’ ક્લાસ મેળવી શકાય.
  • આ પ્રકારના ઇન્હેરિટન્સ મલ્ટિલેવલ ઇન્હેરિટન્સ કહેવાય છે. (જુઓ આકૃતિ)

કમ્પોઝિશન અને ઇન્હેરિટન્સની તુલના (Composition Vs Inheritance)

  • ઇન્ડેરિટન્સમાં ક્લાસની ક્રિયાત્મકતા (Functionality) ભેગી વાપરવા, પુનઃઉપયોગ કરવા અથવા વધારવા માટે અન્ય ક્લાસમાંથી વારસામાં મેળવે છે. અહીં સુપરક્લાસ અને સબક્લાસ વચ્ચે ‘એક પ્રકારનો’ (a-kind-of) સંબંધ હોય છે.
  • કમ્પોઝિશનમાં ક્લાસ અન્ય ક્લાસમાંથી વારસામાં બનતો નથી, પણ બીજા ક્લાસ વડે ‘બનેલો’ (‘Composed of’) હોય છે. ક્લાસ અમુક ઍટ્રિબ્યૂટ ધરાવે છે, જેમાંના કેટલાક બીજા પ્રકારના ક્લાસના હોય છે.

Computer Class 12 GSEB Solutions Chapter 6 ઑબ્જેક્ટ આધારિત ખ્યાલો

Computer Class 12 GSEB Notes Chapter 6 ઑબ્જેક્ટ આધારિત ખ્યાલો

પરિચય (Introduction)

  • પ્રોગ્રામિંગની રીતને બે પ્રકારમાં વહેંચવામાં આવે છે :
    1. પ્રક્રિયાગત પ્રોગ્રામિંગ (Structure/Proce- dural Programming)
    2. ઑબ્જેક્ટ આધારિત પ્રોગ્રામિંગ (Object- oriented Programming)
  • પ્રક્રિયાગત પ્રોગ્રામિંગ(Procedural Programming)માં આપણું કેન્દ્રબિંદુ ડેટા ઉપરની કાર્યપ્રણાલી (Functions) તેમજ પ્રક્રિયાઓ (Procedures) લખવામાં કેન્દ્રિત રહે છે.
  • ઉદાહરણ તરીકે, પુસ્તકાલય વિનિયોગ સૉફ્ટવેર (Library Application Software) માટે આપણે પુસ્તકાલયના વિનિયોગની બધી પ્રક્રિયા બાબતે વિચારીશું અને આપણું ધ્યાન વિદ્યાર્થી-નોંધણી, પુસ્તક-વિતરણ, પુસ્તક પરત કરવું અને દંડની ગણતરી કરવી જેવા વિભાગો પર કેન્દ્રિત રહેશે.
  • સૉફ્ટવેર સિસ્ટમનાં વિશ્લેષણ, ડિઝાઇન અને અમલીકરણમાં ઑબ્જેક્ટ આધારિત પદ્ધતિ (Object- oriented System) નોંધપાત્ર ભૂમિકા ભજવે છે.
  • ઑબ્જેક્ટ આધારિત પદ્ધતિનો ઉપયોગ કરીને બનાવવામાં આવેલા સૉફ્ટવેર વધુ વિશ્વસનીય હોય છે અને તેની જાળવણી, પુનઃઉપયોગ અને વિકાસનું કાર્ય ખૂબ સરળ હોય છે.
  • ઑબ્જેક્ટ આધારિત પ્રોગ્રામિંગની શરૂઆત 1960ના સમયગાળામાં થઈ અને 1980ના દાયકાની મધ્યથી નવા સૉફ્ટવેર બનાવવામાં પ્રોગ્રામિંગની તે મુખ્ય પદ્ધતિ બની ગઈ.
  • ઑબ્જેક્ટ આધારિત પ્રોગ્રામિંગ પદ્ધતિના વિકાસનો મુખ્ય ઉદ્દેશ સૉફ્ટવેર સિસ્ટમના અતિ ઝડપથી વધતા કદ અને જટિલતાનું નિયંત્રણ કરવા માટેનો હતો.
  • C++, Java, C#, VB.net, ASPnet અને PHP ઑબ્જેક્ટ આધારિત પ્રોગ્રામિંગને સમર્થન આપે છે.

ક્લાસ ડાયાગ્રામનો પરિચય (Introduction to Class Diagram)

  • ક્લાસ ડાયાગ્રામનો હેતુ વિનિયોગ(Application)ના સ્થાયી દેખાવની પ્રતિકૃતિ (Model) બનાવવાનો છે.
  • ક્લાસ ડાયાગ્રામને ઑબ્જેક્ટ આધારિત ભાષાઓ સાથે સીધેસીધો જોડી શકાય છે. જેથી સૉફ્ટવેર બનાવનાર વ્યક્તિઓમાં તે વ્યાપકપણે વપરાય છે.
  • ક્લાસ ડાયાગ્રામ અનેક ક્લાસનો સમૂહ, અવરોધો (Constraints) અને જુદા જુદા ક્લાસ વચ્ચેના સંબંધની સ્થિતિ રજૂ કરે છે.

યુનિફાઇડ મૉડેલિંગ લેંગ્વેજ(Unified Modelling Language – UML)નો પરિચય :
યુનિફાઇડ મૉડેલિંગ લેંગ્વેજ(UML)નો ઉપયોગ ઑબ્જેક્ટ આધારિત સૉફ્ટવેરની પ્રતિકૃતિ (Model) તૈયાર કરવામાં થાય છે.

  • UML એક દૃશ્ય (Visual) મૉડેલિંગ ભાષા છે અને તે ઑબ્જેક્ટ મૅનેજમેન્ટ ગ્રૂપ (Object Management Group – OMG) દ્વારા વ્યાખ્યાયિત કરવામાં આવી છે અને OMG જ તેની જાળવણી કરે છે.
  • UML રેખાકૃતિ વિનિયોગ કઈ પ્રોગ્રામિંગ ભાષામાં કોડ કરવાનો છે તેના ઉપર આધારિત નથી.
  • UML સૉફ્ટવેર વિનિયોગના વિવિધ પાસાઓ રજૂ કરવા માટે નામનિર્દેશનવાળી અનેક આકૃતિ ઓ જણાવે છે.

ક્લાસ ડાયાગ્રામ : ક્લાસ ડાયાગ્રામમાં કોઈ પણ ક્લાસને રજૂ કરવા માટેનો આઇકોન name, attribute અને behaviourનો સમાવેશ કરવા માટે એક લંબચોરસ ત્રણ વિભાગમાં વિભાજિત કરેલો હોય છે.

class name
attribute
behaviour

    1. સૌથી ઉપરના વિભાગમાં ક્લાસનું નામ (Class name) હોય છે.
    2. વચ્ચેના વિભાગમાં ક્લાસના ઍટ્રિબ્યૂટ કે પ્રૉપર્ટી હોય છે.
    3. સૌથી નીચેના વિભાગમાં ક્લાસનું બિહેવીયર અથવા ઑપરેશન (Operation) અથવા મેથડ (Method) હોય છે.
  • આકૃતિ માં UML પ્રણાલિકા પ્રમાણે ક્લાસની સચિત્ર રજૂઆત દર્શાવી છે, જ્યારે આકૃતિ માં ‘Person’ નામના ક્લાસનો ડાયાગ્રામ દર્શાવ્યો છે.
Class Name
Visibility attribute : data type = initial value
Visibility operation (argument list) : return type

[આકૃતિ : UML પ્રણાલિકાગત ક્લાસની રજૂઆત]

Computer Class 12 GSEB Solutions Chapter 6 ઑબ્જેક્ટ આધારિત ખ્યાલો 10

  • UMLની સંકેતલિપિમાં ઍટ્રિબ્યૂટની વાક્યરચના (Syntax) :
    [<visibility>]<attribute name>[:<attribute data type>[=<initial value>]]
    નોંધ : અહીં ચોરસ કૌંસ [ ]ની જોડીમાં લખવામાં આવેલ બાબત વૈકલ્પિક છે અને કોણીય કૌંસ <>ની જોડીમાં લખેલી બાબત ફરજિયાત છે. એટલે કે attribute nameની કિંમત વપરાશકર્તાએ જણાવવી જ પડે છે.
  • અહીં દશ્યતા (Visibility) અંગત, સુરક્ષિત, જાહેર અથવા પૅકેજ (Package) પ્રકારની હોઈ શકે અને તે જણાવવા માટે વપરાતા સંકેતો નીચે કોષ્ટકમાં દર્શાવ્યા છે :
દૃશ્યતા (Visibility) ચિહ્ન
અંગત
સુરક્ષિત #
જાહેર +
પૅકેજ ~
  • અહીં ઍટ્રિબ્યુટ એટલે ચલ (Variable).
  • અહીં ડેટા ટાઇપ (Data type) અને પ્રારંભિક કિંમત (Initial value) પ્રોગ્રામની શરૂઆતમાં કયા પ્રકારનો ડેટા સંગ્રહ કર્યો છે અને તેની કિંમત શું છે તેનો નિર્દેશ કરે છે.
  • ઍટ્રિબ્યુટ ઘોષિત (Declare) કરવા માટેનાં ઉદાહરણ :

v
UML સંકેતલિપિમાં બિહેવીયર અથવા મેથડની વાક્યરચના :
[<visibility>]<method name>(Parameter list seperated by comma) : <return data type>

  • મેથડને ઘોષિત કરવાનું ઉદાહરણ :

Computer Class 12 GSEB Solutions Chapter 6 ઑબ્જેક્ટ આધારિત ખ્યાલો 12

  • કોઈ પણ વિનિયોગના અમલ દરમિયાન ઑબ્જેક્ટને તેના સ્ટેટ (State) વડે રજૂ કરવામાં આવે છે. આ રીતે ઑબ્જેક્ટ ચલિત (dynamic) હોય છે. આકૃતિ ને અનુરૂપ ‘Person’ ક્લાસના ઑબ્જેક્ટને આકૃતિ માં દર્શાવ્યા પ્રમાણે રજૂ થાય છે.

Computer Class 12 GSEB Solutions Chapter 6 ઑબ્જેક્ટ આધારિત ખ્યાલો 13

Leave a Comment

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