首页 \ 问答 \ 多态性术语(Polymorphism Terminology)

多态性术语(Polymorphism Terminology)

我看了,我看了,找不到我正在寻找的学术答案。

如果方法是多态的:

public class Widget
{
    public void doSomething()
    {
        // ...
    }

    public void doSomething(int fizz)
    {
        // ...
    }
}

...然后doSomething可以说是类Widget多态方法 。 我正在寻找在提到多态方法的不同变体时使用的学术/数学术语。 例如,在化学中,你有同位素的概念,它是原子的变体,只有不同数量的中子。 我想能够说doSomething(int)doSomething(int)x ,就像Tritium是氘的同位素一样。

什么是两种方法的正确术语,这两种方法是彼此的多态...只是多态? 多态共轭物??!?

我知道在某个地方,有人知道答案。


I've looked and I've looked, and can't find the academic answer I'm looking for.

If a method is polymorphic:

public class Widget
{
    public void doSomething()
    {
        // ...
    }

    public void doSomething(int fizz)
    {
        // ...
    }
}

... then doSomething can be said to be a polymorphic method of class Widget. I am looking for the academic/mathematical term to use when referring to the different varieties of a polymorphic method. For instance, in chemistry you have the concept of isotopes which are variants of atoms that simply have different numbers of neutrons. I want to be able to say that doSomething(int) is an x of doSomething(), much like Tritium is an isotope of Deuterium.

What's the correct terminology for two methods that are polymorphs of one another....just polymorphs? Polymorphic conjugates??!?

I know that somewhere, somebody knows the answer to this.


原文:https://stackoverflow.com/questions/7236128
更新时间:2019-09-11 08:42

最满意答案

Overloaded method 。 看看这篇 wiki文章。

更新: 如何从doSomething()的上下文中引用doSomething(int)
在像C ++ / C#/ Java这样的语言中,它是常见的模式:

public class Widget
{
    public void doSomething()
    {
        // ...
        int default = 42;
        this.doSomething(default);
    }

    public void doSomething(int fizz)
    {
        // ...
    }
}

Overloaded method. Look at this wiki article.

Updated: how do I refer to doSomething(int) from the context of doSomething()
In languages like C++/C#/Java it is common pattern:

public class Widget
{
    public void doSomething()
    {
        // ...
        int default = 42;
        this.doSomething(default);
    }

    public void doSomething(int fizz)
    {
        // ...
    }
}
2011-08-29

相关问答

更多

SqlConnection On Close事件?(SqlConnection On Before Close event?)

当事件触发时太晚,无法运行任何类型的SQL批处理。 我建议您按照MSDN推荐的主题 : 通过调用sp_setapprole系统存储过程激活SQL Server应用程序角色后,无法重置该连接的安全上下文。 但是,如果启用了池,则会将连接返回到池,并且在重用池化连接时会发生错误。 当提出这些建议时,试图反对它们通常是一个坏主意。 您可以放弃应用程序角色, 有更好的选择 : 应用角色替代方案 应用程序角色取决于密码的安全性,这会带来潜在的安全漏洞。 密码可以通过嵌入应用程序代码或保存在磁盘上来公开。

加密代码的陷阱(Pitfalls of cryptographic code)

Applied Cryptography是一本很棒的书,可以帮助你理解加密和代码。 它覆盖了很多基础知识,比如分组密码的工作原理,以及为什么选择一个不好的密码模式会使你的代码无用,即使你使用完全实现的AES版本。 有些事情要注意: 随机性的可靠来源 试图设计自己的算法或协议 - 千万不要这样做。 没有得到它的代码审查。 最好通过在线发布。 不使用完善的图书馆,并试图自己写。 作为万能药的加密 - 加密数据并不神奇地使其安全 密钥管理。 现在通过侧通道攻击窃取密钥通常比攻击密码更容易。 Appli

评论尝试catch语句(Commenting try catch statements)

我通常会做以下事情。 如果只有一个异常处理,我通常不会打扰,因为它应该是自我记录。 try { real code // throws SomeException real code // throws SomeOtherException } catch(SomeException se) { // explain your error handling choice if it's not obvious } catch(SomeOtherException s

无法通过spring_id在spring security中对用户进行身份验证(Not able to authenticate user by email_id in spring security)

您需要在HttpSecurity表单登录配置中设置类似的内容,以便Spring安全性接受您的自定义用户名和密码字段: @Override public void configure(HttpSecurity http) throws Exception { http .authorizeRequests() .anyRequest().authenticated() .and() .formLogin().usernameP

如何编写批处理文件来切换我的网络适配器?(How can I write a batch file to toggle my network adapters?)

你应该看看netsh: 例如: netsh interface set interface "Local Area Connection" DISABLED (或ENABLED ) 创建2个脚本,在你想要的那个上执行ENABLED,在另一个脚本上禁用,反之亦然(或者首先看到哪一个上升,哪个下来,反转的1个脚本) 此命令还可以列出接口的状态。 但它在几种窗口之间的行为方式不同(或使用不同的语法)...所以你也可以看看MicroSoft的devcon 。 或另一种可能性: wmic 。 You sh

为什么我会想用Maybe而不是List?(Why would I ever want to use Maybe instead of a List?)

基于现有的(和正确的)答案,我会提到一个基于类型类的答案。 不同的类型表达不同的意图 - 返回一个Maybe a代表一个计算失败的可能性,而[a]可能代表非确定性(或简单地说,可能有多个返回值)。 这就产生了这样的事实,即不同类型对于类型类具有不同的实例 - 并且这些实例迎合类型传达的基本本质。 Take Alternative和它的运算符(<|>)表示在给定的参数之间组合(或选择)的含义。 Maybe a可能失败Maybe a组合计算就意味着采用不是Nothing的第Maybe a计算 [a]

关于多态性bevaviour(Regarding polymorphic bevaviour)

泛型和多态是两回事。 泛型主要用于指定预期的类型。 您可以使用通配符来定义一系列类型。 例如<? extends List> <? extends List>可以应用于任何类型的List( LinkedList , ArrayList ) 多态性是一个对象可以有多种类型的概念。 因此,对象可以是List的实例,也可以是ArrayList的实例。 例如,想象三个类 public class Animal public class Dog extends Animal public class

Swift CIfilter从collectionView中选择(Swift CIfilter select from a collectionView)

我认为你所做的一切都很好,唯一的问题是 override func viewWillAppear(_ animated: Bool) { super.viewWillAppear(true) let inputImage = CIImage(image: (originalImage.image?.resized(toWidth: 120))!)! filteredImages.createImageArray(inputImage: inputImage) {

相关文章

更多

最新问答

更多
  • asp.net任意用户信息(asp.net arbitrary user info)
  • 如何使用python计算docx文件中表中行的值(How to count the row's values in tables in docx file by using python)
  • MySQL:用户访问和数据库覆盖(MySQL: User access and DB overwriting)
  • 还有另一种“使用未分配的局部变量”的问题(Yet Another “Use of unassigned local variable 'whatever' ” question)
  • 开源证书颁发机构软件(Open source certificate authority software)
  • Rails中的迭代form_for是在create上添加模型的所有实例(Iteration in Rails form_for is adding all instances of model on create)
  • 如何扩展我的表视图单元格?(How to expand my table view cell?)
  • 如何使用SPARQL区分Thing和无生命对象(How to differentiate between a Thing and an inanimate object with SPARQL)
  • 在IdentityServer中,Client Secrets和Scope Secrets有什么区别?(In IdentityServer, what is the difference between Client Secrets and Scope Secrets?)
  • 如何在具有附加类时重写类(How do I override a class when it has a attached class)
  • 如何使用Git在Azure上部署C#,MVC4应用程序(How to deploy a C#, MVC4 application on Azure using Git)
  • Sitecore 7内容搜索爬网程序根目录之外的索引项(Sitecore 7 Content Search indexing items outside of crawler root)
  • 我应该在线课程使用utf-8编码吗?(Should I use utf-8 encoding for an online course?)
  • 如何在Cucumber-JS步骤定义中使用Node-mysql连接到MySQL?(How to connect to MySQL using Node-mysql in a Cucumber-JS step definition?)
  • 在MVC 4中的google.maps.LatLng(lat,lon)中将JSON字符串值分配给纬度和经度(Assign the JSON string value to Latitude and Longitude in google.maps.LatLng(lat,lon) in MVC 4)
  • awk:通过特定的分隔符删除字符串(awk: remove strings by specific delimiter)
  • 如何测试Vista的应用程序(How to test app for Vista)
  • Elasticsearch聚合器 - 缺失值的工作原理(Elasticsearch aggregators - How missing values work)
  • 绘制datetime.date熊猫(Plot datetime.date pandas)
  • PostgreSQL作为WSO2 EI和APIM + IS的数据源(PostgreSQL as datasource for WSO2 EI and APIM+IS)
  • 如何使用bash在postgres中运行alter table脚本(How to run alter table script in postgres using bash)
  • 可能使用PHP阻止整个美国州访问我的网站?(Might it be possible to block an entire US state from accessing my site, using PHP?)
  • restangular删除并输入错误网:: ERR_NAME_NOT_RESOLVED(restangular remove and put error net::ERR_NAME_NOT_RESOLVED)
  • 常见问题解答的Modx(Revolution)搜索功能(Modx(Revolution) search function for FAQs)
  • Rubymine如何使用远程口译员和Git?(How Does Rubymine Work With Remote Interpreters and Git?)
  • prepareForSegue和PerformSegueWithIdentifier发件人(prepareForSegue and PerformSegueWithIdentifier sender)
  • postgrsql与PowerShell无提示安装问题(postgresql silent installation issue with powershell)
  • 比较两个greps的输出(Comparing output from two greps)
  • 使用.NET RIA Data Services删除Silverlight 3中的数据(Deleting data in Silverlight 3 with .NET RIA Data Services)
  • 此行中AND运算符的含义(meaning of the AND operator in this line)