Wednesday, July 14, 2010

What? ProvideX. OOPs!!

जी हाँ, जैसा नाम है वैसा ही कुछ बताने भी जा रहा हूँ.. कुछ आगे लिखने से पहले ही बताना चाहूँगा कि यह पोस्ट उन लोगों के लिए है जिन्हें Object Oriented Programming कि सामान्य जानकारी हो.. कोशिश करूँगा कि आने वाले दिनों में कुछ पोस्ट Object Oriented Programming पर भी डालूं..

मैं आजकल जिस प्रोग्रामिंग लैंग्वेज पर काम कर रहा हूँ उसका नाम है ProvideX. इसमे Inheritance का कंसेप्ट मुझे बेहद मजेदार लगा था जिसे आपके सामने ला रहा हूँ.. हो सकता है कि किसी अन्य प्रोग्रामिंग लैंग्वेज में भी यह कंसेप्ट प्रयोग में लाया जाता हो, अगर ऐसा है तो यहाँ वह जानकारी बांटने कि कोशिश करें..

इस चित्र पर एक नजर डालें, जिसमे CLASS A एवं CLASS B को CLASS C Inherit कर रहा है :



मजेदार बात अब शुरू होती है.. अब अगर हम एक Object बनाए CLASS A का तो वह Object CLASS B के भी सारे Methods एवं Properties को आराम से Access कर सकता है.. एक आम OOP(Object Oriented Programming) में यह संभव नहीं है, मगर ProvideX में इसे ही एक नयी खूबी बना कर सामने रख दिया गया है..

नोट : पते कि बात यह है कि .Net में इस तरह कि कई छेड़-छाड़ की गई है और उसे .Net की खूबी कि तरह ब्रांडिंग किया गया है.. :)

5 comments:

Abhishek Pandey said...

if class A has member variable p with function getP() and setP()
[p in class A represents speed]
also Class B has member variable p with function getP() and setP()
[p in class B represent lenth]
How will Class C will identify both variable variable and functions differently ??

PD said...

That's the ProvideX.. No logic, no reason.. lol..

प्रवीण पाण्डेय said...

रोचक। :-)

डॉ महेश सिन्हा said...

OOOps

Rajesh Srivastavaa said...

This is called diamond hierarchy. java doesnt allow this, but I think C++ supports diamond hierarchy too. Interesting information, but it has a tons of 'vaad-veevad' associated with this approach. !