#ruby demo1 define class
class A
def initialize(name)
@name=name;#定义成员变量
@age=3
end
def talk
puts @name+":"+@age.to_s;#age是数值fixNum类型,所以要调用to_s(toString7)方法
end
attr_writer:age;#setter 方法
attr_reader:age;#getter方法;
attr_accessor:age #getter setter都有
end
ap=A.new("hello");#创建对象
#puts(ap.age);
puts( ap.age=234);#调用setter方法
puts(ap.age=32323);
ap.talk
initialize 是初始化方法,相当于 Java 的构造器。参数age 有一个缺省值 3,
可以在任何方法内使用缺省参数,而不仅仅是initialize。如果有缺省参数,参数表必
须以有缺省值的参数结尾。
attr_writer :age相当于 attr_ reader :age相当于
def age=(value) def age
return @age=value return @age
end end
这就是我们熟悉的getter 和 setter 方法的简写形式。你不熟悉也不重要。
attr_accessor :age相当于attr_reader:age; attr_writer :age
分享到:
相关推荐
attr_accessor :name, :age # 创建名为name和age的实例变量,并提供getter和setter方法 def initialize(name, age) @name = name @age = age end def introduce puts "My name is #{@name} and I am #{@age...
2. **访问器(Accessors)**: Ruby提供了两种类型的访问器方法,getter和setter。getter方法允许我们读取属性值,而setter方法让我们可以更改它。例如: - `def name` 是一个getter方法,用于获取`@name`的值。 - ...
在这个实验室中,可能涉及到如何在Ruby类中定义和使用方法来读取和设置对象的内部状态,也就是属性。 描述中的"ruby-oo-fundamentals-attribute-accessors-lab-sea01-seng-ft-071320-master.rar"提示这是一个压缩...
- `attr_accessor`, `attr_reader`, `attr_writer`用于快速生成getter和setter方法。 4. **块和 Proc/Lambda** - 块是Ruby中的一段可执行代码,可以用do..end或{}定义,通常与迭代器配合使用。 - Proc和Lambda是...
- **定义类**:`Person` 类包含两个实例变量 `name` 和 `age`,使用 `attr_accessor` 自动生成 getter 和 setter 方法。 - **初始化方法**:`initialize` 方法用于设置对象的初始状态。 - **自定义方法**:`...
在Ruby中,为了方便地创建读写方法(相当于Java和其他面向对象语言中的getter和setter),可以使用类宏 `attr_accessor`。这是非常实用的功能,可以避免手动编写重复的代码。 **示例代码:** ```ruby class MyClass...
例如,可以通过`attr_accessor`自动生成getter和setter方法,或者使用`send`方法调用未显式定义的方法。 ### 三、《Ruby元编程》书籍概述 《Ruby元编程》是一本专注于介绍Ruby元编程技术的专业书籍。该书通过丰富...
通过`class`关键字定义类,`new`方法创建对象,`attr_accessor`等宏用于快速生成getter和setter方法。 5. 模块:模块是组织代码的一种方式,可以包含常量、方法和类。模块通过`include`或`extend`关键字实现代码...
- **访问器方法:** `attr_accessor` 用于定义getter和setter方法。 **3.5 类变量与类方法** - **类变量:** 在类的所有实例间共享的变量。 - **类方法:** 通过类名调用的方法。 **3.6 元类** 元类是定义类本身...
- 解决方案: 提供getter和setter方法来间接访问。 #### 总结 本教程涵盖了Ruby语言的基本概念和技术要点,包括安装、IRB的使用、基本的数据类型、变量、方法、字符串处理以及面向对象编程。通过这些基础知识的...
#### 六、访问器(Getter)和设置器(Setter)方法 - **访问器方法**:用于从类的外部获取对象的实例变量的值。 ```ruby class Box def initialize(width, height) @width = width @height = height end ...
4. 包装器方法:Ruby提供`attr_accessor`, `attr_reader`, `attr_writer`快捷方式来生成getter和setter方法。 四、Ruby的块、迭代器与闭包 1. 块:Ruby中的块是一段代码,可以通过`do..end`或`{..}`定义,常用于...
例如,在类的声明中,attr_accessor宏可以为类的实例变量提供getter和setter方法。代码示例中的Person类展示了如何定义一个类,如何初始化对象,以及如何在运行时扩展类的行为。 当与Java和C++进行比较时,Ruby具有...
在Ruby中,你可以使用`require`关键字来引入其他文件,`class`定义新的类,`def`定义方法,`attr_accessor`快速创建属性的getter和setter,`if`、`unless`进行条件判断,`while`、`until`、`for`进行循环,`begin`、...
了解如何创建类、继承、封装、多态性以及方法调用是学习Ruby的基础。例如,`class MyClass`定义一个新类,`super`关键字用于调用父类的方法,`attr_accessor`则用于快速创建getter和setter方法。 2. **动态性**:...
在这个"Ruby test 1"中,我们很可能会遇到三个核心概念:类定义、对象初始化和方法调用。接下来,我们将深入探讨这三个关键知识点。 首先,类定义是Ruby中的一个重要组成部分,它允许我们创建自定义的对象类型。类...
通过`class`定义类,`new`创建对象,`attr_accessor`、`attr_reader`和`attr_writer`用于生成getter和setter方法。 ### Ruby Learning 这个压缩包可能包含了一个PPT和PDF文档,以及一些示例代码,帮助初学者理解...