Ruby类和函数

来源:互联网 发布:js和java哪个好 编辑:程序博客网 时间:2024/04/29 19:56

虽然后续会单独有一章专门介绍类和函数,但是作为面向对象中最常用的两个主要角色,这里还是要先简单的介绍一下。

(1)类

Ruby语言中类的定义使用的表现形式为class…end,如下:

class class_name                                                                        class_member                                                                          class_function                                                                  end                                                                                     

实例创建利用函数new,即class_name.new,ruby中会调用函数initialize函数实现类的创建,这有点和Java中的构造函数类似。

注意:类的命名需要首字母大写。

(2)成员变量

Ruby语言中变量主要分为三类,即全局变量,类变量和成员(实例)变量。全局变量用“$变量名称”表示;类变量用“@@变量名称”表示;成员(实例)变量用“@变量名称”表示。

Ruby语言中成员变量和其他面向对象语言是一致的,所以理解起来并不困难。

注意:变量命名需要小写字母开头。

(3)成员函数

Ruby语言中函数的定义使用的表现形式为def…end,如下:

def function_name                                                                       #...                                                                end                                                                                    

注意:变量命名需要小写字母开头。

扩展阅读:类函数

Java中的类函数由static标示,对于ruby语言,通过self来实现,如例:

def self.function_name                                                                       #...                                                               end                                                                                     

示例:class的使用实例                                                                  

[lazy@localhost chapter1]$ vim chapter1_8.rb# Instance for class$hometown = "China"    # Global variableclass Person    @@number = 0     # Class variable    # Structure function    def initialize(name, age, gender)        @name = name    # Instance variable        @age = age        @gender = gender        @@number = @@number + 1    # Remembet total person    end # end of function named initialize    # Function that puts element    def putPerson        puts "The " + @@number.to_s + " person:\n" + "My name is " + @name + ",my age is " + @age.to_s + ",my gender is " + @gender + ".I come from " + $hometown + "."        puts "The #@@number person : name = #@name : age = #{@age} : gender = #@gender."    endend # end of classperson1 = Person.new("lazy1",23,"male")person1.putPersonperson2 = Person.new("lazy2",24,"male")person2.putPerson

说明:对于整数在字符串中的输出可以采用两种形式,这其实也是linux所使用的:

① #变量

如例子中第二个puts后面的#@name,表示将变量#name的值输出。

② #{变量}

如例子中第二个puts后面的#{@name},表示将变量@name的值输出。

[lazy@localhost chapter1]$ ruby chapter1_8.rbThe 1 person:My name is lazy1,my age is 23,my gender is male.I come from China.The 1 person : name = lazy1 : age = 23 : gender = male.The 2 person:My name is lazy2,my age is 24,my gender is male.I come from China.The 2 person : name = lazy2 : age = 24 : gender = male.

0 0
原创粉丝点击