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学习笔记 01 类的属性与方法 02 访问控制 03 Container(Array/Hash) 04 Iterator 05 简单数据类型 06 范围 07 方法 08 条件控制 09 异常处理
ruby语言跟c#的一些重要差别在于: 1.ruby是动态语言,c#是静态语言–即对象在new出来以后,ruby还可以动态给对象实例添加一些属性或方法(javascript也是如此) 2.ruby中刻意弱化了变量类型这个概念,默认情况下变量/...
在Ruby笔记3中,我们将会深入探讨这个强大的语言的各个方面,包括基础语法、类与对象、模块、方法、控制结构、异常处理、文件操作以及一些高级特性。 首先,让我们从基础语法开始。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的内容”中,我们可以看到一些与图像、多媒体处理以及文本格式化的相关知识。 1. **图像处理**: - 默认情况下,图像没有边框,但可以通过CSS设置边框样式。若未设置链接,...
《Python 学习笔记 第三版1》是一本面向有一定Python编程基础的读者的书籍,旨在深入解析Python 3.6的语言特性。作者虽然已经具备一定的写作经验,但仍然谦虚地表示无法确保内容完全正确,同时满足所有人的需求。他...
这些学习笔记涵盖了第17到21章的内容,以下是其中的一些关键知识点: 1. **枚举(Enum)的增强**: JDK 6对枚举类型进行了增强,支持枚举常量之间的比较,可以实现Comparable接口,还引入了枚举套接字(EnumSet)...
- **面向对象**:定义一个类,并在类中定义属性和方法,通过创建类的实例来调用方法输出内容。这种方式体现了Ruby作为面向对象语言的特点。 #### 运行Ruby程序 在命令行中切换到包含`HelloWorld.rb`文件的目录,并...
类是创建对象的蓝图,它们定义了对象的属性(也称为实例变量)和行为(方法)。模块则用于封装相关的类和方法,可以实现代码复用和命名空间管理。学习如何创建和继承类,以及如何使用`include`和`extend`来导入模块...
在本篇web第二期的学习笔记中,我们涵盖了前端开发中的一些关键知识点,主要涉及HTML5和CSS3的应用。首先,笔记介绍了行内元素`<span>`的特点,它不会自动换行,而`<div>`作为块级元素会自动换行且可以包含`<span>`...
HTML5 学习笔记 HTML5 是 W3C 与 WHATWG 合作的结果,WHATWG 指 Web Hypertext Application Technology Working Group。WHATWG 致力于 web 表单和应用程序,而 W3C 专注于 XHTML 2.0。 HTML5 中的新特性包括: * ...
**RabbitMQ学习笔记** RabbitMQ是一款广泛应用的消息中间件,它基于AMQP(Advanced Message Queuing Protocol)协议,能够实现在分布式系统中可靠的消息传递。RabbitMQ的核心功能是作为一个消息代理,允许应用程序...
《Compass学习笔记》 Compass,全称Sass Compass,是一个基于Sass的CSS框架,它为Web开发者提供了强大的工具和方法,简化了CSS的编写,使得样式表的组织更加有序,可维护性大大增强。Sass是CSS的预处理器,而...
子类可以通过`extends`关键字继承父类的属性和方法。 - **特质**:Scala中的特质类似于Java中的接口,但更加灵活。特质可以包含抽象方法和具体方法。 ##### 5.3 模式匹配和样例类 - **模式匹配**:Scala支持强大的...
同时,这也是学习Ruby语言和Org模式交互的一个好机会,对于提升你的开发技能和提高工作效率大有裨益。 总之,`org-ruby`是连接Ruby世界与Org模式的强大桥梁,它使得在Ruby环境中处理Org文件变得轻松易行。无论是...
IDE 使用 JavaScript 记录用户的浏览器交互,然后将这些交互转换为可读性强、易于维护的脚本,支持多种编程语言,如 Java、C#、Python 和 Ruby。此外,Selenium IDE 还具有回放功能,可以方便地测试脚本的有效性。 ...
1. 查找元素:Selenium提供了多种查找元素的方法,如`find_element_by_id`、`find_element_by_name`、`find_element_by_xpath`等。这些方法可以定位到HTML中的特定元素,以便进行点击、输入值等操作。 2. 点击元素...
块是通过`do..end`或花括号 `{}` 来定义的,可以与方法一起使用,例如`each`迭代器。 类和对象是Ruby的核心,所有的东西都是对象。你可以定义自己的类,用`class`关键字开始,`end`关键字结束。在类中,可以定义...
在对象篇的学习中,我们已经学习了如何创建对象、访问对象属性和方法,以及使用一些内置方法来操作对象。在本篇中,我们将深入探讨JavaScript中遍历对象属性的一种重要方法——for in循环。 首先,for in循环是一种...