Module and class hierarchy : inheritance « Class « Ruby

Ruby
1. ActiveRecord
2. Array
3. CGI
4. Class
5. Collections
6. Database
7. Date
8. Design Patterns
9. Development
10. File Directory
11. GUI
12. Hash
13. Language Basics
14. Method
15. Network
16. Number
17. Rails
18. Range
19. Reflection
20. Statement
21. String
22. Threads
23. Time
24. Tk
25. Unit Test
26. Windows Platform
27. XML
Java
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
C# / C Sharp
C# / CSharp Tutorial
ASP.Net
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
PHP
Python
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Ruby » Class » inheritance 
Module and class hierarchy


module A
end                 # Empty module
module B 
   include A 
end                 # Module B includes A

class 
   include B 
end                 Class C includes module B

puts C < B               # => true: C includes B
puts B < A               # => true: B includes A
puts C < A               # => true
puts Fixnum < Integer    # => true: all fixnums are integers
puts Integer <Comparable # => true: integers are comparable
puts Integer < Fixnum    # => false: not all integers are fixnums
puts String < Numeric    # => nil: strings are not numbers

puts A.ancestors         # => [A]
puts B.ancestors         # => [B, A]
puts C.ancestors         # => [C, B, A, Object, Kernel]
puts String.ancestors    # => [String, Enumerable, Comparable, Object, Kernel]
                    # Note: in Ruby 1.9 String is no longer Enumerable

puts C.include?(B)       # => true
puts C.include?(A)       # => true
puts B.include?(A)       # => true
puts A.include?(A)       # => false
puts A.include?(B)       # => false

puts A.included_modules  # => []
puts B.included_modules  # => [A]
puts C.included_modules  # => [B, A, Kernel]

 
Related examples in the same category
1. Basing one class on another is called inheritance.
2. Extends class
3. how inheritance works in code form
4. Basing One Class on Another: a Demo
5. different types of people
6. Structuring Your Pets Logically
7. If the class Name were in a different file, you would just require that file first
8. Add new constructor
9. Subclass Array class
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.