查看: 1880|回复: 3

[已经解决] 脚本中的super def class self 都是指什么?

[复制链接]
梦石
0
星屑
50
在线时间
31 小时
注册时间
2009-7-6
回帖
87
发表于 2010-7-29 08:03:57 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
求教
梦石
0
星屑
50
在线时间
270 小时
注册时间
2010-2-4
回帖
1296
发表于 2010-7-29 08:11:14 | 显示全部楼层
父类同名方法
定义方法
定义类
执行的对象本身

评分

参与人数 1星屑 +400 收起 理由
IamI + 400

查看全部评分

好歹当年也当过大魔王过,orz
回复

使用道具 举报

梦石
0
星屑
50
在线时间
31 小时
注册时间
2009-7-6
回帖
87
 楼主| 发表于 2010-7-29 08:24:13 | 显示全部楼层
都怎么用?
回复

使用道具 举报

梦石
0
星屑
1580
在线时间
1564 小时
注册时间
2008-7-30
回帖
4207

贵宾

发表于 2010-7-29 09:01:43 | 显示全部楼层
super是调用父类的同名方法,同时可以传递参数。
def 为定义方法,语法为:def 方法名(参数列表)
class 可以定义类,语法为:class 类名 < 父类名 (继承是可选的)
同时class也是Object类(或许是其他类)提供的方法,用于返回一个对象所属的类(元编程·反射机制)
self返回当前对象。
  1. class Human # 定义一个Human类,类名必须大写
  2.   def initialize(name) # 定义initialize方法,参数为name,实例化对象的时候首先调用此方法
  3.     @name = name  # 实例变量的赋值
  4.   end   # 结束方法定义
  5. end

  6. class Student < Human #定义Student类继承Human类
  7.   def initialize(name, age)
  8.     super(name) # 调用父类即Human类的initialize方法,并传递参数name
  9.     @age=age
  10.   end
  11.   def self.hi  # 定义无须参数的hi方法,前面加一个self代表与当前对象(这个类)绑定成为一个类方法
  12.     p "hi"   # 输出hi
  13.   end
  14. end

  15. a_man = Student.new("Xiaoming",5) # 实例化对象
  16. a_man.class #=> Student
  17. a_man.class.super_class  #=>Human
复制代码

评分

参与人数 1星屑 +600 收起 理由
IamI + 600 认可答案

查看全部评分


See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部