一、面向对象基础
1.1 定义
class Point
def initialize(x, y)
@x = x
@y = y
end
end
point = Point.new(0, 1)
puts point.is_a? Point # true
其中 initialize
方法充当了构造器,以 @
开头的变量是实例变量,也就是说是 Java 中的属性。
我们利用 new
方法创造一个变量,类似于一个工厂方法。如果往深里探究,应该是 new
方法是一个类对象方法,也就是说,Point
可以作为一个类,同时它也是 Class
这个类的一个对象,他作为对象有一个方法是 new
。这个 new
会调用实例方法(就是 java 中的非静态方法) new
,然后完成构造。