@目录Introduction to RubyClasses and ObjectsObject StateVisibilityA Longer ExampleEverything is an ObjectClass Definitions are DynamicDuck TypingArraysBlocksUsing BlocksProcsHashes and Ranges(1)Hash(2)RangeSubclassingWhy Use Subclassing?Overriding and Dynam
@目录OOP Versus Functional DecompositionAdding Operations or VariantsBinary Methods with Functional DecompositionDouble DispatchOptional: MultimethodsMultiple InheritanceMixinsInterfacesOptional: Abstract Methods OOP Versus Functional Decomposition 面向对象与