ruby 覆盖率测试_Ruby方法覆盖

ruby 覆盖率测试

Ruby中的方法重写 (Method overriding in Ruby)

Method overriding simply means that there are two methods defined within the same scope and they both are used for performing different tasks. This feature is provided in an Object-oriented language which supports Inheritance. Inheritance is nothing but a mechanism through which the child class object can access the methods of the superclass. In Method overriding, two same name methods are present in the base class as well as in derived class but with different functionality. Overriding takes place in the manner that the method of derived class or subclass replaces or overrides the implementation of Derived class method.

方法覆盖只是意味着在同一范围内定义了两种方法,它们都用于执行不同的任务。 此功能以支持Inheritance的面向对象语言提供。 继承不过是子类对象可以访问超类方法的机制。 在“ 方法重写”中 ,在基类和派生类中存在两个相同名称的方法,但功能不同。 覆盖以派生类或子类的方法替换或覆盖派生类方法的实现的方式进行。

The general view of method overriding looks like,

方法覆盖的一般视图如下所示:

    class Parent
def Method
end
end
class Child
def Method
end
end

You can observe that name of both the methods is the same. Now, let us understand how they differ in functionality with the help of an example:

您可以观察到两种方法的名称相同。 现在,借助示例,让我们了解它们的功能差异:

=begin
Ruby program to demonstrate method overriding
=end
class Parent
def prnt
for i in 0..5
puts "Parent class method"
end
end
end
class Child < Parent
def prnt 
for i in 0..5
puts "Child class method"
end
end
end
ob1=Child.new #class instantiation
ob1.prnt

Output

输出量

Child class method
Child class method
Child class method
Child class method
Child class method
Child class method

You can observe in the above code that both the child and parent class method has the same name but are used for different purposes.

您可以在上面的代码中观察到子类和父类方法都具有相同的名称,但它们的用途不同。

Go through the example given below to understand the concept in a broader way,

通过下面给出的示例,可以更广泛地理解该概念,

=begin
Ruby program to demonstrate method overriding.	
=end
class Dollar
def initialize
puts "Enter amount in dollar"
@dlr=gets.chomp.to_f
end
def rupee
puts "#{@dlr}$ = #{71.23*@dlr} inr"
end
end
class Yen < Dollar
def initialize
puts "Enter amount in Yen" 
@yn=gets.chomp.to_f
end
def rupee
puts "#{@yn} Yen = #{0.67*@yn} inr"
end
end
ob1=Dollar.new
ob1.rupee 
ob2=Yen.new
ob2.rupee

Output

输出量

Run 1:
Enter amount in dollar
12
12.0$ = 854.76 inr
Enter amount in Yen
900
900.0Yen = 603.0 inr
Run 2:
Enter amount in dollar
190.23
190.23$ = 13550.0829 inr
Enter amount in Yen
890.23
890.23 Yen = 596.4541 inr

The above code has two methods with the same name 'rupees'. This is the case of method overriding where same name methods can exist in both child class and superclass. Here we are creating objects of child class and parent class and they are invoking their methods. If only child class object has created, then it must have replaced the parent class method. Remember that you can not override the private methods.

上面的代码有两个具有相同名称“卢比”的方法。 在方法重写的情况下,子类和超类中都可以存在相同名称的方法。 在这里,我们正在创建子类和父类的对象,并且它们正在调用其方法。 如果仅创建了子类对象,则它必须已替换了父类方法。 请记住,您不能覆盖私有方法。

翻译自: https://www.includehelp.com/ruby/method-overriding.aspx

ruby 覆盖率测试

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/543766.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iOS 之 UITextField

UITextField 之 失去焦点 收起键盘 UITextField 之 手势收起键盘转载于:https://www.cnblogs.com/SimonGao/p/5106681.html

ruby推送示例_Ruby直到示例循环

ruby推送示例直到循环 (The until loop) The until loop is one of the great features of Ruby which makes it different from other programming languages. The support of until loop specifies how much user-friendly language Ruby is? 直到循环是Ruby的重要功能之一&…

Dubbo学习总结(4)——Dubbo基于Zookeeper实现分布式实例

入门实例解析 第一&#xff1a;provider-提供服务和相应的接口 创建DemoService接口 [java] view plaincopyprint? <span style"font-size:18px;">package com.unj.dubbotest.provider; import java.util.List; /** * 定义服务接口&#xff0c;该…

什么是5g全双工模式_5G的完整形式是什么?

什么是5g全双工模式5G&#xff1a;第五代 (5G: Fifth Generation) 5G is an abbreviation of the "Fifth Generation". 5G是“第五代”的缩写 。 It is the fifth-generation wireless technology for digital cellular networks that started broad operation in 2…

Gmap.net 怎么导入离线地图

我使用【http://www.cnblogs.com/enjoyeclipse/archive/2013/01/29/2882254.html】所提供的方式导出地图数据 但是在【C:\Users\用户名<你的计算机用户名>\AppData\Local\GMap.NET\TileDBv5\en】这个文件夹下看到的Data.gmdb永远是256m 用这个Data.gmdb文件也无法导入 请…

下一个全排列_下一个排列

下一个全排列Problem statement: 问题陈述&#xff1a; Given a permutation print permutation just greater than this. 给定一个排列&#xff0c;打印排列就比这个更大。 Example: 例&#xff1a; Permutation:1 3 2 5 4Output:1 3 4 2 5Solution: 解&#xff1a; What …

[转载]PhotoShop性能优化

现在随着Photoshop版本越来越高功能也越来越强大&#xff0c;而往往强大的功能需要电脑有好的配置运行&#xff0c;比如HDR、图像合成或者3D和视频等类似的功能&#xff0c;还有处理比较大尺寸的图像时&#xff0c;如果电脑配置不够强往往非常卡&#xff0c;这时我们就要好好设…

in-nan(ind)_NaN16 Constant in Julia

in-nan(ind)Julia| NaN16常数 (Julia | NaN16 Constant) NaN16 is a constant of the Float16 type in Julia programming language, it represents "not-a-number" value. NaN16是Julia编程语言中Float16类型的常量&#xff0c;它表示“非数字”值。 Syntax: 句法&…

iOS 架构模式

MVVM指南&#xff08;课程学习&#xff09; iOS 架构模式 iOS 之 依赖注入 Square对iOS App架构的新尝试---Ziggurat 基于彻底解耦合的实验性iOS架构转载于:https://www.cnblogs.com/SimonGao/p/5112299.html

分披萨问题_比萨疯狂问题

分披萨问题Problem statement: 问题陈述&#xff1a; There is a shop which sells pizza of three different sizes- Small, Medium, and Large Pizza. IncludeHelp is crazy for Pizzas. A small Pizza has an area of S unit2, a medium Pizza has an area of M unit2 and …

oracle 10g学习之分组函数

一、 &#xff08;1&#xff09;分组查询语句的顺序 select ... from ... where ... group by ... having ... order by ... 注意&#xff1a; where-->group by分组-->执行组函数-->having筛选->order by 如果select/having语句后面出现了组函数 那么se…

0.1uf与47uf并联_UF是什么形式?

0.1uf与47uf并联UF&#xff1a;超滤 (UF: Ultrafiltration) UF is an abbreviation of Ultrafiltration. It is a kind of membrane filtration which is used in UF water purifiers. Through a hollow fiber threaded semi-permeable membrane, the water is made to proceed…

机器学习相关——协同过滤

在现今的推荐技术和算法中&#xff0c;最被大家广泛认可和采用的就是基于协同过滤的推荐方法。本文将带你深入了解协同过滤的秘密。下面直接进入正题 1 什么是协同过滤 协同过滤是利用集体智慧的一个典型方法。要理解什么是协同过滤 (Collaborative Filtering, 简称 CF)&#x…

二维的完整形式是什么?

2D&#xff1a;二维 (2D: Two Dimensional) 2D is an abbreviation of "Two-Dimensional". 2D是“二维”的缩写 。 It is the dimension of any virtual object that has no manifestation of profundity. For example, if a graphic or picture representation of …

InfoQ中文站2015年度优秀社区编辑评选揭晓

\又到了年终岁末&#xff0c;在过去的一年里&#xff0c;InfoQ网站的月独立UV接近130万&#xff0c;月PV突破200万&#xff0c;每周独立访问用户接近30万&#xff0c;网站访问量过万的文章超过60篇。每月活跃的数十位社区编辑为InfoQ的内容生产贡献着力量。正是这点点汇聚的星光…

wfm扩展_WFM的完整形式是什么?

wfm扩展WFM&#xff1a;为我工作 (WFM: Works For Me) WFM is an abbreviation of "Works For Me". WFM是“ Works For Me”的缩写 。 It is an expression, which is commonly used in messaging or chatting on social media networking sites like Facebook, Yah…

【设计模式】—— 访问者模式Visitor

对于某个对象或者一组对象&#xff0c;不同的访问者&#xff0c;产生的结果不同&#xff0c;执行操作也不同。此时&#xff0c;就是访问者模式的典型应用了。 应用场景 1 不同的子类&#xff0c;依赖于不同的其他对象 2 需要对一组对象&#xff0c;进行许多不相关的操作&#x…

ruby宝石区块链最新消息_Ruby宝石| Ruby工具

ruby宝石区块链最新消息Ruby宝石 (Ruby Gems) Every language has its package manager which helps it by providing libraries and a standard format to distribute Ruby program. It is a type of tool which is developed to easily facilitate the installation of Gems.…

CMake入门(二)

CMake入门&#xff08;二&#xff09; 最后更新日期&#xff1a;2014-04-25 by kagula 阅读前提&#xff1a;《CMake入门&#xff08;一&#xff09;》、Linux的基本操作 环境: Windows 8.1 64bit英文版。Visual Studio 203 Update1英文版。CMake 2.8.12.2、 Cent OS 6.5。内容…

Scala中的评论

Scala评论 (Scala comments) Comments are things that are readable by the programmer. They are added to the code to add an explanation about the source code. Commenting on a program to make it easier to understand by the programmer. 注释是程序员可以读取的东西…