`
dongsx
  • 浏览: 7045 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

Ruby中类变量和实例变量

阅读更多
@shared = 100
class MyClass
  class << self
    attr_accessor :shared
  end
end

class MyClass_2 < MyClass
  @shared = 500
end

p MyClass.shared    ---> nil
MyClass.shared = 1
p MyClass.shared    ----> 1
p MyClass_2.shared   ---> 500

首先在Object类中定义了一个实例变量shared,而访问MyClass.shared的时候发现shared没有初始化,所以返回nil

而对于子类MyClass_2由于集成了父类中中的attr_accessor方法,而且自己定了实例变量 shared 所以等于 500
1.类变量是可以继承的
2.实例变量是不能继承的
分享到:
评论

相关推荐

    Ruby中类变量和实例变量的比较

    ### Ruby中类变量和实例变量的比较 在Ruby编程语言中,类变量和实例变量都是用来存储数据的重要机制。它们虽然都是变量,但在用途、作用范围、生命周期等方面有着明显的区别。接下来,我们将详细介绍这两者之间的四...

    类变量、全局变量、实例变量, 多态、为什么ruby、ruby编码规范

    本文将深入探讨Ruby语言中的类变量、全局变量、实例变量,以及多态的概念,并结合Ruby编码规范来阐述如何有效地编写代码。 一、类变量 类变量在Ruby中以`@@`前缀表示,它们是属于类或模块的共享变量,不会被类的...

    Ruby类实例变量、类实例方法和类变量、类方法的区别

    在Ruby语言中,类实例变量、类实例方法与类变量和类方法是构成面向对象编程模型的重要组成部分。它们各自有不同的用途和行为特性,下面详细介绍这些概念的区别以及它们的使用场景。 首先,类实例变量和类实例方法都...

    Ruby中的变量学习总结

    Ruby中的变量有几种形式,分别是局部变量、实例变量、类变量、全局变量,对于初学者来说,常常容易搞混,尤其像本人这种做java的,理解起来还是头痛,经过仔细辨别学习,将这几种变量的差异及使用场景总结如下: ...

    Ruby中文教程,佩戴实例

    变量在Ruby中有四种类型:局部变量、实例变量、类变量和全局变量,它们都有特定的标识符前缀。数据类型包括基本类型和复杂类型,如数组、哈希(字典)、集合等。 函数和方法是Ruby的核心组成部分。你可以定义自己的...

    Ruby入门教程中文PDF 附实例

    类和对象是Ruby的核心概念,你可以自定义类并创建实例。例如,创建一个名为`Person`的类并初始化姓名: ```ruby class Person def initialize(name) @name = name end end person = Person.new("Alice") ``` Ruby...

    Ruby语言教程:Ruby 变量示例

    本文将详细介绍 Ruby 中的五种主要变量类型:普通变量、全局变量、实例变量、类变量以及常量,并通过示例代码加深理解。 #### 二、Ruby中的变量类型详解 ##### 1. 普通变量 (Variable) - **定义与使用**: - 普通...

    ruby初级中文教程与实例

    1. 变量:Ruby中的变量分为五种类型:局部变量(以小写字母或下划线开头)、实例变量(以`@`开头)、类变量(以`@@`开头)、全局变量(以`$`开头)和常量(以大写字母开头)。每种变量都有其作用域和使用场景。 2. ...

    ruby 中文文档 必备资料

    Ruby支持四种基本变量:局部变量、实例变量、类变量和全局变量,它们分别以小写字母、@、@@和$开头。数据类型则包括字符串、数字、布尔值、数组、哈希等。控制结构包括条件语句(如if/else,case)和循环(如while、...

    Ruby 方法、类

    在Ruby中,方法和类是构建程序的基本元素,它们是实现代码重用和组织的关键概念。 ### 方法(Methods) 方法在Ruby中是可重复使用的代码块,它们接受参数,执行特定任务,并可能返回值。方法定义使用`def`关键字...

    01Ruby 变量.docx

    在这个例子中,`@cust_id`、`@cust_name` 和 `@cust_addr` 都是实例变量。 ##### 4. 类变量 (Class variable) 类变量以 `@@` 开头,用于在类的所有实例之间共享数据。它们不仅在整个类中可见,而且在类的所有子类...

    ruby语言帮助文档(简体中文)

    7. **标准库和Gem**:Ruby的标准库提供了大量的内置模块和类,覆盖了网络、文件系统操作、日期时间处理等常见任务。此外,Ruby的生态中还有大量的开源库(Gem),通过`gem install`命令可以轻松安装和管理。 8. **...

    ruby中文教程,从基础到深入的让你学习ruby

    变量在Ruby中有四种类型:局部变量(以小写字母或下划线开头)、实例变量(以`@`开头)、类变量(以`@@`开头)和全局变量(以`$`开头)。数据类型包括字符串、数字、布尔值、数组、哈希等。控制结构包括条件语句(如...

    Ruby-Referral一个命令行工具用于查找过滤和排序Ruby代码的定义和引用

    变量在Ruby中分为局部变量、实例变量、类变量和全局变量,Referral能够追踪它们的使用情况,有助于识别潜在的变量冲突和未初始化的问题。 此外,Referral还提供了过滤功能,这意味着用户可以定制搜索条件,只关注...

    Ruby中文教程及相关源代码

    1. **基础语法**:Ruby的基本数据类型,如整型、浮点型、字符串、数组、哈希等,以及变量的使用,如局部变量、实例变量和全局变量。 2. **控制结构**:包括条件语句(如if/else,case)和循环(如for,while,until...

    ruby中文文档中心资料

    Ruby的标准库非常丰富,提供了许多内置的模块和类,如File用于文件操作,Array和Hash提供数据结构支持,Net模块用于网络编程,如HTTP请求,Socket编程等。除此之外,Ruby的Gem生态系统是其强大之处,包含了数万个第...

    ruby语法基础教程及Ruby教程中文版和安装文件

    变量分为局部变量(以小写字母或下划线开头)、实例变量(以`@`开头)和全局变量(以`$`开头)。 控制流程是编程中的关键部分。Ruby提供了条件语句(如`if`和`unless`)、循环(如`for`、`while`和`until`)以及`...

    ruby中文 文档

    1. **基础语法**:Ruby的基础语法包括变量(本地变量、实例变量、类变量和全局变量)、常量、运算符、流程控制(条件语句、循环语句)以及函数定义。 2. **类与对象**:Ruby是面向对象的语言,所有一切都是对象。...

    Ruby中文教程。。。

    4. 模块(Module):Ruby的模块用于组织代码,可以包含常量、方法和类。模块可以通过`include`或`extend`引入到其他类或对象中。 三、元编程 1. 动态性:Ruby允许在运行时修改类和对象,如动态添加方法`define_...

Global site tag (gtag.js) - Google Analytics