`
sunnyshuhai
  • 浏览: 41577 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

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

阅读更多

    二.  类方法和类的类实例方法

 

     在上一篇文章中,我们讲了类变量和类的类实例变量之间的区别和各自的使用场景。在本文中将介绍一下类方法和类的类实例方法,从表面上来看可能认为二者之间的关系类似于变量间的区别,但是字面上的理解往往具有很大的欺骗性。实际上,二者并没有任何区别,它们本质上是同一个东西的两种不同的定义。我们还是从代码上来看看...

 

 

class A   
 
   #class's class instance method
   class<<A
     def method1
       puts "Class's Class instance method"
     end
   end
   
   #class method
   def A.method2
       puts "Class mthod!"
   end  
end  
  
  
class B<A     
end  


A.method1
A.method2

B.method1
B.method2

 

   程序运行的结果如下:

 

 

Class's Class instance method
Class mthod!
Class's Class instance method
Class mthod!

 

  从结果中我们可以看出,二者之间并没有任何区别。都可以被子类访问。而没有像类变量和类的类实例变量那样的区别。但是,我们应该选者那种定义方式来定义我们的类方法呢?毫无疑问,应该选者清晰易懂的方式------类方法,尽量不要使用类的类实例方法那样的方式。

分享到:
评论

相关推荐

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

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

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

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

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

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

    Ruby 方法、类

    Ruby支持类的继承,允许一个类(子类)继承另一个类(父类)的属性和方法。子类使用`&lt;`符号指定其父类,如下所示: ```ruby class Student &lt; Person def study puts "I'm studying hard!" end end ``` 在这个...

    Ruby中ERB模板的使用

    在这个例子中,`@title`和`@username`是Ruby对象的实例变量,它们将在运行时被替换为实际的值。ERB引擎会执行这些Ruby代码并替换占位符。 接下来,让我们看看如何在Ruby程序中使用ERB。首先,你需要引入`erb`库: ...

    Graalvm 安装和静态编译

    在使用Native Image之前,我们需要一个名为`reflection-config.json`的配置文件,用于指定反射相关的类和方法。然后,通过以下命令生成原生镜像: ```bash native-image --no-fallback --no-server --verbose --...

    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中的变量学习总结

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

    ruby初级中文教程与实例

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

    01Ruby 变量.docx

    此外,Ruby 拥有一个非常强大的标准库,其中包含了大量用于各种任务的类和方法,如文件处理、文本处理等,这使得开发者可以轻松地开发出功能丰富的应用程序。最为人所熟知的是 Ruby on Rails,这是一个基于 Ruby 的 ...

    ruby语法自整理

    - `initialize`是类的构造方法,用于初始化实例变量。 - 类方法通过`def self.method_name`定义。 - 实例方法通过`def method_name`定义。 - `@`前缀的变量为实例变量,`@@`前缀的为类变量。 - 创建类对象:`f ...

    Ruby中文教程,佩戴实例

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

    Ruby元编程第二版中文

    `instance_variable_get`和`instance_variable_set`用于访问实例变量,而`class_variable`系列方法用于处理类变量。 4. **常量、属性和符号**:Ruby允许在运行时动态地设置和修改常量。`attr_accessor`、`attr_...

    二十分钟Ruby入门教程

    你可以定义属性(也称为实例变量)和方法。下面是一个简单的类示例: ```ruby class Person def initialize(name, age) @name = name @age = age end def say_hello puts "你好,我是 #{@name},今年 #{@age}...

    使用ActionMail发送邮件

    通过定义Mailer类和邮件模板,我们可以轻松地创建各种类型的邮件,并通过配置SMTP服务器实现实际的发送。在实际开发中,ActionMail还可以与其他Rails功能结合,如活动跟踪、通知系统等,进一步提升应用的用户体验。

    Ruby 语言中类与对象简介,入门级语法介绍

    在Ruby中,可以通过定义类和实例变量来实现封装。例如,如果有一个`Person`类,可以定义实例变量`@name`、`@age`等,并提供方法来访问这些变量,而不是直接允许外部代码直接修改这些变量。 - **继承**:继承使得一个...

    Ruby元编程pdf

    全局变量、实例变量和类变量都可以动态改变,这使得代码可以根据不同的条件改变其行为。 4. **对象**:Ruby中的所有对象都有`class`方法,可以查看或改变其类。此外,`Object#send`方法允许动态调用对象的方法,而`...

    Ruby语言入门教程

    类可以包含属性(也称为实例变量)和方法。继承允许一个类(子类)继承另一个类(父类)的属性和方法,这样可以实现代码重用和层次结构。子类通过`&lt;`符号指向父类,如`class Child &lt; Parent`。 Ruby还支持模块...

Global site tag (gtag.js) - Google Analytics