Project1
标题:
脚本中的super def class self 都是指什么?
[打印本页]
作者:
OWOWOW
时间:
2010-7-29 08:03
标题:
脚本中的super def class self 都是指什么?
求教
作者:
zhangbanxian
时间:
2010-7-29 08:11
父类同名方法
定义方法
定义类
执行的对象本身
作者:
OWOWOW
时间:
2010-7-29 08:24
都怎么用?
作者:
DeathKing
时间:
2010-7-29 09:01
super是调用父类的同名方法,同时可以传递参数。
def 为定义方法,语法为:def 方法名(参数列表)
class 可以定义类,语法为:class 类名 < 父类名 (继承是可选的)
同时class也是Object类(或许是其他类)提供的方法,用于返回一个对象所属的类(元编程·反射机制)
self返回当前对象。
class Human # 定义一个Human类,类名必须大写
def initialize(name) # 定义initialize方法,参数为name,实例化对象的时候首先调用此方法
@name = name # 实例变量的赋值
end # 结束方法定义
end
class Student < Human #定义Student类继承Human类
def initialize(name, age)
super(name) # 调用父类即Human类的initialize方法,并传递参数name
@age=age
end
def self.hi # 定义无须参数的hi方法,前面加一个self代表与当前对象(这个类)绑定成为一个类方法
p "hi" # 输出hi
end
end
a_man = Student.new("Xiaoming",5) # 实例化对象
a_man.class #=> Student
a_man.class.super_class #=>Human
复制代码
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1