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
- Ruby类和函数
- 基本的Ruby类和函数例子
- Ruby七天入门(2 函数,数组和类)
- Ruby类和对象
- Ruby类和对象
- ruby 类和模块
- ruby 类和模块
- Ruby类和对象
- Ruby-类和对象
- ruby 类和对象
- ruby Array类函数说明
- ruby中的构造函数和继承
- ruby函数
- Ruby 101:类和对象
- Ruby 中的类和对象
- Ruby 中的类和对象
- Ruby中的各种方法定义和调用(函数式方法|实例方法|类方法)
- ruby Dir类涉及的几个函数
- 网络传输协议总结
- 第五届“蓝桥杯”java高职组
- Linux下安装oracle 11g需要的rpm包
- Leetcode: Convert Sorted Array to Binary Search Tree
- Linux下安装oracle 12C需要的rpm包
- Ruby类和函数
- 学习笔记 --- LINUX TTY子系统框架分析
- Spark:一个高效的分布式计算系统
- LeetCode: Linked List Cycle
- poi报表实现,导出到excel文件
- vs2010 快捷键大全
- Apache软件基金会相关项目
- YARN(YetAnother Resource Negotiator)
- LeetCode: Linked_List_Cycle II