वंशानुक्रम दो वर्गों के बीच का संबंध है। वंशानुक्रम कक्षाओं के बीच माता-पिता के बच्चे के संबंध बनाते हैं। यह कोड के पुन: उपयोग और सार्वजनिक कक्षाओं और इंटरफेस के माध्यम से मूल सॉफ़्टवेयर के स्वतंत्र एक्सटेंशन की अनुमति देने के लिए एक तंत्र है। वंशानुक्रम का लाभ यह है कि श्रेणी के नीचे श्रेणीबद्धता उन उच्चतर की विशेषताओं को प्राप्त करती है, लेकिन अपने स्वयं के विशिष्ट सुविधाओं को भी जोड़ सकती है। ।
रूबी में, एक वर्ग केवल अन्य एकल वर्ग से विरासत में मिल सकता है। (अर्थात एक वर्ग उस वर्ग से विरासत में प्राप्त कर सकता है जो किसी अन्य वर्ग से विरासत में मिलता है जो किसी अन्य वर्ग से विरासत में मिलता है, लेकिन एक एकल वर्ग एक ही बार में कई वर्गों से विरासत में नहीं मिल सकता है)। BasicObject क्लास रूबी में सभी वर्गों का मूल वर्ग है। इसके तरीके इसलिए सभी वस्तुओं के लिए उपलब्ध हैं जब तक कि स्पष्ट रूप से ओवरराइड नहीं किया जाता है।
रूबी ने मिक्सिन का उपयोग करके एक ही बार में एकल वर्ग की विरासत को पार कर लिया।
मैं एक उदाहरण के साथ समझाने की कोशिश करूंगा।
module Mux
def sam
p "I am an module"
end
end
class A
include Mux
end
class B < A
end
class C < B
end
class D < A
end
आप class_name.superclass.name का उपयोग करके ट्रेस कर सकते हैं और इस प्रक्रिया को तब तक कर सकते हैं जब तक आपको इस पदानुक्रम में BasicOject नहीं मिला। BasicObject सुपर क्लास ओ हर क्लास है। मान लीजिए कि हम वर्ग C पदानुक्रम पेड़ देखना चाहते हैं।
C.superclass
=> B
B.superclass
=> A
A.superclass
=> Object
Object.superclass
=> BasicObject
आप कक्षा सी की पूरी पदानुक्रम देख सकते हैं। इस दृष्टिकोण का उपयोग कर ध्यान दें कि आपको ऐसे मॉड्यूल नहीं मिलेंगे जो मूल कक्षाओं में शामिल या पूर्वनिर्मित हैं।
मॉड्यूल सहित पूरा पदानुक्रम खोजने के लिए एक और दृष्टिकोण है। रूबी के अनुसार डॉक्टर पूर्वजों । मॉड में शामिल मॉड / प्रीपेन्डेड मॉड्यूल की सूची लौटाता है (मॉड स्वयं सहित)।
C.ancestors
=> [C, B, A, Mux, Object, Kernel, BasicObject]
यहाँ, Mux और कर्नेल मॉड्यूल हैं।
http://rubylearning.com/satishtalim/ruby_inheritance.html
https://en.wikipedia.org/wiki/Inheritance_(object-oriented_programming)
B.methods.sortirb में प्रयास करें । हो सकता है कि कोई चीज आपको आपके द्वारा खोजे जाने वाले विधि के नाम पर एक सुराग दे।