Ruby initialize方法

Ruby initialize方法教程

initialize 方法是一个标准的 Ruby 类方法,是类的构造函数,与其他面向对象编程语言中的 constructor 工作原理类似。

当您想要在创建对象的同时初始化一些类变量,initialize 方法就派上用场了。该方法带有一系列参数,与其他 Ruby 方法一样,使用该方法时,必须在前面放置 def 关键字。

Ruby构造方法详解

语法

class ClassName def initialize(w, h) @width, @height = w, h end end

说明

initialize 方法可以理解为其他语言中的构造函数。

案例

为类添加构造方法

为类添加 initialize 方法

#!/usr/bin/ruby -w # -*- coding : utf-8 -*- puts "HaiCoder(www.haicoder.net)" class Student def initialize() print("Call initialize\n") end def sayHello print("Hello HaiCoder From Ruby Class\n") end end stu = Student.new stu.sayHello()

程序运行后,控制台输出如下:

02_Ruby类构造函数.png

我们创建了一个类 Student,接着,我们为该类添加了一个 initialize 方法和一个 sayHello 方法 ,最后,我们创建了 Student 类的实例。

我们看到,我们没有显式调用 initialize 方法,但程序输出了 Call initialize,即我们每创建一次对象,系统会自动为我们调用一次构造方法。

为构造方法添加参数

initialize 方法可以接受参数

#!/usr/bin/ruby -w # -*- coding : utf-8 -*- puts "HaiCoder(www.haicoder.net)" class Student def initialize(name, age) print("Call initialize\n") @name, @age = name, age end def sayHello printf("Hello HaiCoder From Ruby Class, Name = %s, Age = %d\n", @name, @age) end end stu = Student.new("HaiCoder", 108) stu.sayHello()

程序运行后,控制台输出如下:

03_Ruby类构造函数.png

我们创建了一个类 Student,接着,我们为该类添加了一个 initialize 方法,且该 initialize 方法接受两个参数,即 name 和 age,最后,我们在创建 Student 类的实例的时候,我们必须要传入 nama 和 age 参数。

Ruby initialize方法总结

initialize 方法是一个标准的 Ruby 类方法,是类的构造函数,与其他面向对象编程语言中的 constructor 工作原理类似。

当您想要在创建对象的同时初始化一些类变量,initialize 方法就派上用场了。该方法带有一系列参数,与其他 Ruby 方法一样,使用该方法时,必须在前面放置 def 关键字。