`
liss
  • 浏览: 844648 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

ruby学习笔记(1)--类的属性与方法

    博客分类:
  • Ruby
阅读更多

class Song
  #属性
  def name
    @name
  end
 #构造/方法
  def initialize(name)
    @name=name
  end
end

#继承
class Song2 < Song
  #属性读写
  attr_reader :artist
  attr_writer :artist
  #静态属性
  @@play=0
  #静态属性读写
  def Song2.playcount
    @@play
  end
  def Song2.playcount=(count)
    @@play=count
  end
 
  #构造
  def initialize(name,artist)
    #基类构造
    super(name)
    @artist=artist
  end
  #方法
  def playmethod
     @@play+=1
   end
   #静态方法
  def Song2.StaticPlay
    @@play+=1
  end
end
song2=Song2.new('yesterday once more','none')
song3=Song2.new('say you say me','none')
song2.playmethod #@@play=1
song3.playmethod #@@paly=2
Song2.StaticPlay  #@@play=3
puts Song2.playcount #3
Song2.playcount=10
puts Song2.playcount  #10
puts song3.name #say you say me
puts song3.artist #none
song3.artist='not me'
puts song3.artist #not me


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/blackant2/archive/2006/11/28/1418703.aspx

分享到:
评论

相关推荐

    Ruby学习笔记(学习心得)

    Ruby学习笔记 01 类的属性与方法 02 访问控制 03 Container(Array/Hash) 04 Iterator 05 简单数据类型 06 范围 07 方法 08 条件控制 09 异常处理

    ruby 学习笔记(2) 类的基本使用

    ruby语言跟c#的一些重要差别在于: 1.ruby是动态语言,c#是静态语言–即对象在new出来以后,ruby还可以动态给对象实例添加一些属性或方法(javascript也是如此) 2.ruby中刻意弱化了变量类型这个概念,默认情况下变量/...

    ruby笔记3ruby笔记3ruby笔记3

    在Ruby笔记3中,我们将会深入探讨这个强大的语言的各个方面,包括基础语法、类与对象、模块、方法、控制结构、异常处理、文件操作以及一些高级特性。 首先,让我们从基础语法开始。Ruby中的变量分为四种类型:局部...

    Ruby简洁学习笔记(二):类继承、属性、类变量

    这样Thing类中的属性name,description都被Treasure继承 2.以下三种方式传入父类initialize方法的参数分别是什么? 代码如下: # This passes a, b, c to the superclass def initialize( a, b, c, d, e, f )  ...

    WEB学习笔记第三期关于JavaScript的内容

    在“WEB学习笔记第三期关于JavaScript的内容”中,我们可以看到一些与图像、多媒体处理以及文本格式化的相关知识。 1. **图像处理**: - 默认情况下,图像没有边框,但可以通过CSS设置边框样式。若未设置链接,...

    Python 学习笔记 第三版1

    《Python 学习笔记 第三版1》是一本面向有一定Python编程基础的读者的书籍,旨在深入解析Python 3.6的语言特性。作者虽然已经具备一定的写作经验,但仍然谦虚地表示无法确保内容完全正确,同时满足所有人的需求。他...

    jdk6学习笔记(17,18,19,20,21)

    这些学习笔记涵盖了第17到21章的内容,以下是其中的一些关键知识点: 1. **枚举(Enum)的增强**: JDK 6对枚举类型进行了增强,支持枚举常量之间的比较,可以实现Comparable接口,还引入了枚举套接字(EnumSet)...

    Ruby初学笔记之Hello World

    - **面向对象**:定义一个类,并在类中定义属性和方法,通过创建类的实例来调用方法输出内容。这种方式体现了Ruby作为面向对象语言的特点。 #### 运行Ruby程序 在命令行中切换到包含`HelloWorld.rb`文件的目录,并...

    Ruby 语言教程从小白到入门

    类是创建对象的蓝图,它们定义了对象的属性(也称为实例变量)和行为(方法)。模块则用于封装相关的类和方法,可以实现代码复用和命名空间管理。学习如何创建和继承类,以及如何使用`include`和`extend`来导入模块...

    web第二期学习笔记 ,主要是布局,HTML5

    在本篇web第二期的学习笔记中,我们涵盖了前端开发中的一些关键知识点,主要涉及HTML5和CSS3的应用。首先,笔记介绍了行内元素`&lt;span&gt;`的特点,它不会自动换行,而`&lt;div&gt;`作为块级元素会自动换行且可以包含`&lt;span&gt;`...

    HTML5学习笔记.pdf

    HTML5 学习笔记 HTML5 是 W3C 与 WHATWG 合作的结果,WHATWG 指 Web Hypertext Application Technology Working Group。WHATWG 致力于 web 表单和应用程序,而 W3C 专注于 XHTML 2.0。 HTML5 中的新特性包括: * ...

    RabbitMQ学习笔记

    **RabbitMQ学习笔记** RabbitMQ是一款广泛应用的消息中间件,它基于AMQP(Advanced Message Queuing Protocol)协议,能够实现在分布式系统中可靠的消息传递。RabbitMQ的核心功能是作为一个消息代理,允许应用程序...

    compass学习笔记

    《Compass学习笔记》 Compass,全称Sass Compass,是一个基于Sass的CSS框架,它为Web开发者提供了强大的工具和方法,简化了CSS的编写,使得样式表的组织更加有序,可维护性大大增强。Sass是CSS的预处理器,而...

    scala的操作笔记

    子类可以通过`extends`关键字继承父类的属性和方法。 - **特质**:Scala中的特质类似于Java中的接口,但更加灵活。特质可以包含抽象方法和具体方法。 ##### 5.3 模式匹配和样例类 - **模式匹配**:Scala支持强大的...

    org-ruby:用Ruby编写的Org模式解析器

    同时,这也是学习Ruby语言和Org模式交互的一个好机会,对于提升你的开发技能和提高工作效率大有裨益。 总之,`org-ruby`是连接Ruby世界与Org模式的强大桥梁,它使得在Ruby环境中处理Org文件变得轻松易行。无论是...

    Selenium学习笔记

    IDE 使用 JavaScript 记录用户的浏览器交互,然后将这些交互转换为可读性强、易于维护的脚本,支持多种编程语言,如 Java、C#、Python 和 Ruby。此外,Selenium IDE 还具有回放功能,可以方便地测试脚本的有效性。 ...

    11 Selenium笔记.zip

    1. 查找元素:Selenium提供了多种查找元素的方法,如`find_element_by_id`、`find_element_by_name`、`find_element_by_xpath`等。这些方法可以定位到HTML中的特定元素,以便进行点击、输入值等操作。 2. 点击元素...

    note:笔记

    块是通过`do..end`或花括号 `{}` 来定义的,可以与方法一起使用,例如`each`迭代器。 类和对象是Ruby的核心,所有的东西都是对象。你可以定义自己的类,用`class`关键字开始,`end`关键字结束。在类中,可以定义...

    Javascript学习笔记之 对象篇(四) : for in 循环

    在对象篇的学习中,我们已经学习了如何创建对象、访问对象属性和方法,以及使用一些内置方法来操作对象。在本篇中,我们将深入探讨JavaScript中遍历对象属性的一种重要方法——for in循环。 首先,for in循环是一种...

Global site tag (gtag.js) - Google Analytics