设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1622|回复: 3
打印 上一主题 下一主题

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

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2009-7-6
帖子
107
跳转到指定楼层
1
发表于 2010-7-29 08:03:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
求教

Lv1.梦旅人

梦石
0
星屑
50
在线时间
270 小时
注册时间
2010-2-4
帖子
1305
2
发表于 2010-7-29 08:11:14 | 只看该作者
父类同名方法
定义方法
定义类
执行的对象本身

评分

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

查看全部评分

好歹当年也当过大魔王过,orz
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
31 小时
注册时间
2009-7-6
帖子
107
3
 楼主| 发表于 2010-7-29 08:24:13 | 只看该作者
都怎么用?
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1175
在线时间
1564 小时
注册时间
2008-7-30
帖子
4418

贵宾

4
发表于 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的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-16 05:14

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表