code_junkie

How to get all subclasses?

Nov 13th, 2011
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.79 KB | None | 0 0
  1. aClass allSubclasses
  2.  
  3. class A(object):
  4. pass
  5.  
  6. class B(A):
  7. pass
  8.  
  9. class C(A):
  10. pass
  11.  
  12. A.__subclasses__()
  13.  
  14. [<class '__main__.B'>, <class '__main__.C'>]
  15.  
  16. #!/usr/bin/env ruby1.9
  17.  
  18. class Class
  19. def subclasses
  20. ObjectSpace.each_object(Class).select { |klass| klass < self }
  21. end
  22. end
  23.  
  24. #!/usr/bin/env ruby
  25.  
  26. class Class
  27. def subclasses
  28. result = []
  29. ObjectSpace.each_object(Class) { |klass| result << klass if klass < self }
  30. result
  31. end
  32. end
  33.  
  34. #!/usr/bin/env ruby
  35.  
  36. p Numeric.subclasses
  37.  
  38. function getSubclasses($parentClassName)
  39. {
  40. $classes = array();
  41. foreach (get_declared_classes() as $className)
  42. {
  43. if (is_subclass_of($className, $parentClassName))
  44. $classes[] = $className;
  45. }
  46.  
  47. return $classes;
  48. }
  49.  
  50. var_dump(getSubClasses('myParentClass'));
Add Comment
Please, Sign In to add comment