Ruby on Rails 学习笔记之五 – OOP
1. 语法
class 类名
类定义
end
2. 实例化: 类名.new
3. 注意:类名大写开头,方法名小写开头
4. 类内包括的成员
1) instance variables 实例变量, 相当于类的属性,字段
A. 命名: @变量名
B. 都是私有的,外部不可直接访问
C. 只能通过其读写访问器读写
2) instance method 实例方法
A. 定义
def 方法名
方法体
end
3) access method 访问器 , 用于对实例变量的访问
A. 定义
def set_变量(参数)
@变量 = 参数
end
def get_变量
@变量
end
B. 另一简单方式定义
def 变量=(参数)
@变量 = x
end
def 变量
@变量
end
4) class variables 类变量
A. 定义:@@变量
5) initialize 特殊方法, 相当于构造方法,实例化时自动会被调用
6) class method 类方法
A. 定义
def self.方法名
方法体
end
B. 类方法只能有类调用,不可通过对象调用,相当于C#静态方法。
二、继承
1. 语法 子类 < 父类
三、注意
1. 方法的括号在没有参数的时候可以省略
2. 输出
a) puts “字符串” 换行
b) print “字符串” 不换行
3. 方法符号
a) ! 代表会修改变量原来的值
irb> fox.upcase
=> "THE QUICK BROWN FOX"
irb> fox
=> "The quick brown fox"
irb> fox.upcase!
=> "THE QUICK BROWN FOX"
irb> fox
"THE QUICK BROWN FOX"
b) ? 代表返回判断
irb> fox.empty?
=> false
irb> fox.is_a? String
=> true