今天研究了一些Ruby的继承,跟C++等语言有所不同,直接看代码:
require 'watir'
class TestInherit
#Getter
attr_reader:a
def initialize
#this is for all ids initialization
@a = "10000000986"
end #end of def initialize
end #end of class
class ChildTest < TestInherit
attr_reader:test_a
def initialize
#this is for all ids initialization
@test_a = "456"
end #end of def initialize
end #---end ChildTest
test = ChildTest.new
puts test.test_a
puts test.a
输出:
456
nil
当子类和父类中都有无参数的构造函数是,new一个子类对象,只会初始化子类中的实例变量,父类的构造函数并没有被执行。
分享到:
相关推荐
Ruby继承实验室目标定义从共享父类或父类继承的类。 定义那些类唯一的方法。概述在本实验中,我们将使用学校域模型。 我们的应用程序具有老师或学生的用户。 老师和学生将共享某些属性,并具有他们特有的某些行为。 ...
2. 面向对象编程:类与对象、继承、多态、封装、模块等。 3. 高级特性:块(Block)、迭代器(Iterator)、元编程、反射等。 4. 标准库的使用:文件操作、网络编程、正则表达式处理等。 5. Ruby on Rails框架的学习...
根据提供的文件信息,我们将深入探讨与“Ruby编程Ruby Programming”这一主题相关的几个核心知识点。这本面向初学者和高级读者的指南旨在全面介绍Ruby编程语言的基础及其高级特性,因此我们将从多个角度来解析这些...
4. **多重继承**:Ruby支持多重继承,一个类可以从多个父类继承属性和方法,从而增强了代码的复用性和扩展性。 ### 核心知识点四:《Programming Ruby》书籍特色 《Programming Ruby》不仅仅是一本技术手册,它更...
同时,Ruby支持多种继承模式,如单一继承和多重继承,以及混合(Mixins),允许类吸收其他类或模块的方法。 另外,Ruby的标准库非常丰富,提供了大量的工具和模块,可以帮助开发者处理各种任务。例如,Net::HTTP...
- 继承与多态性 - 封装与模块 5. **高级特性** - 块与迭代器 - 元编程 - 符号与哈希 6. **文件与IO操作** - 文件读写 - 输入输出流的操作 7. **异常处理** - 异常的基本概念 - 如何定义和捕获异常 - ...
随着你对Ruby的理解加深,你将探索更多概念,如类、模块、方法、继承、 Mixins、异常处理、模块化编程、集合类型(如数组和哈希)、正则表达式以及文件和目录操作。Ruby还拥有丰富的标准库和第三方Gem(Ruby的库包)...
混入允许模块中的方法被其他类直接继承和使用,这是一种不同于Java继承的独特方式。 在错误处理方面,Ruby使用异常(Exception),这一点与Java相同。然而,Ruby鼓励使用异常来控制程序流程,而在Java中,过度使用...
一个类可以包含多个模块,实现多重继承的效果。 7. **异常处理**:Ruby提供了异常处理机制,通过`begin..rescue..end`结构捕获和处理运行时错误。 8. **标准库丰富**:Ruby的标准库包含了大量实用的模块和类,如...
4. **面向对象编程**:Ruby是一种纯面向对象的语言,你将学习类、对象、继承、模块、封装和多态等核心概念。 5. **异常处理**:学习如何使用begin/rescue/ensure来捕获和处理程序运行时可能出现的错误。 6. **元...
8. 继承和方法链(Method Chains):Ruby的继承机制和方法链技术使得我们可以构建出流畅的API。方法链允许调用者在一个表达式中连续调用多个方法,这些方法可以属于同一个对象或不同对象。 9. 钩子和回调(Hooks ...
- **继承与多态**:探讨继承机制,以及如何实现多态性来增强代码的灵活性。 - **封装与访问控制**:讲解如何合理地隐藏对象的内部状态,保护数据安全。 5. **异常处理**:介绍异常的基本概念,以及如何使用`begin...
例如,它会详细介绍如何创建和使用类、继承机制、模块混入、块和 Proc 对象,以及符号(Symbol)、字符串(String)、数组(Array)、哈希(Hash)等基本数据类型的使用。核心库的理解对于掌握Ruby语言至关重要。 ...
Ruby还支持模块(Module),可以用来组织代码和实现多继承的效果。此外,Ruby的块(Block)和 Proc 对象让函数式编程变得简单,例如使用`each`方法遍历数组: ```ruby fruits = ["Apple", "Banana", "Cherry"] ...
Ruby支持面向对象编程,类、对象、继承、多态等特性一应俱全,同时也提供了函数式编程的一些特性,如高阶函数和块。 在Windows上编写Ruby脚本,可以使用任何文本编辑器,如Notepad++或Visual Studio Code,并保存...
- 组合性:通过模块(module)实现代码的复用和封装,支持多继承。 - 充实的标准库:提供大量内置函数和模块,涵盖网络、文件系统、XML处理等多个领域。 使用场景: - 教育:由于其简洁易读的语法,Ruby常被用于...
它可能包括了Ruby的基础概念,如变量、常量、数据类型、控制流、类和对象的创建、继承、模块的使用、异常处理、文件和I/O操作等内容。同时,也可能涵盖了Ruby的高级特性,如元编程、符号、 Proc对象、块和闭包等。 ...
Ruby支持单继承,但通过模块,可以实现一种形式的多继承,即混入。模块可以包含方法和常量,可以通过`include`关键字将模块的方法引入到类中。 Ruby的标准库非常丰富,提供了许多内置的模块和类,如File用于文件...
你可以创建自定义类并定义方法、属性和继承结构。以下是一个简单的类示例: ```ruby class Person attr_accessor :name, :age def initialize(name, age) @name = name @age = age end def introduce puts...