咦,张三和李四怎么光有名字和年龄啊,你们俩还会干点别的么?
于是咱们得给Person类定义方法
1. class Person
2. def do_sth
3. p '干!'
4. end
5. end
6. z3.do_sth? ?#'干!'
复制代码
好吧这回张三会骂街了…大家以后可以创建一打的张三李四帮你去骂人哟~【大雾……】
当然你也可以培育他们去做很多的事情内个。。。【说多了】
关于Module的混入改变继承链:
1. class Class_B
2. def initiazlie
3. p 'B'
4. end
5. end
6. class Class_A < Class_B
7. def initialize
8. super
9. p 'A'
10. end
11. end
复制代码
这时候继承链为Class_A < Class_B,输入Class_A.new会依次输出'B','A'
1. module A
2. def initialize
3. super
4. p 'module A'
5. end
6. end
7. module B
8. def initialize
9. super
10. p 'module B'
11. end
12. end
13. class Class_A
14. include A
15. include B
16. end
复制代码
这时的继承链为Class_A < B < A < Class_B【混入的Module会插入继承链,并且后混入的Module更靠近子类】
这时输入Class_A.new会依次输出'A','module A','module B','B'【很神奇不是么~】