首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏C++ 动态新闻推送

    C++ 中文周刊 第113期

    & operator=(const Animal&) = delete; virtual ~Animal() = default; }; 或者别用clone这种用法 What are the duck-typing What are the duck-typing requirements of _com_ptr_t? What are the duck-typing requirements of MFC IPTR? What are the duck-typing requirements of ATL CComPtr?

    62420编辑于 2023-05-13
  • 来自专栏技术知识总结

    面向对象程序设计

    对于多态特性的实现方式,除了利用 “继承加方法重写” 这种实现方式之外,还有其他两种比较常见的的实现方式,一种是利用接口类语法,另一种是利用 duck-typing 语法。 不过,并不是每种程序设计语言都支持接口类或者 duck-typing 这两种语法机制,比如 C++ 就不支持接口类语法,而 duck-typing 只有一些动态语言才支持,比如 Python、JavaScript 接口类语法:一个对象变量(接口类)可以指向多种实际类型(实现类) duck-typing 语法:duck-typing 可以这样表述:“如果看起来像鸭子,叫起来像鸭子,那么它一定是鸭子”。

    2.4K120编辑于 2023-04-13
  • 来自专栏WindCoder

    面向对象四大特性

    多态的实现方式 多态这种特性也需要编程语言提供特殊的语法机制来实现,比如继承、接口类、duck-typing。 只要两个类具有相同的方法,就可以实现多态,并不要求两个类之间有任何关系,这就是所谓的 duck-typing,是一些动态语言(如Python)所特有的语法机制。

    96110发布于 2020-04-17
  • 来自专栏码农架构

    封装、抽象、继承、多态分别可以解决哪些编程问题?

    对于多态特性的实现方式,除了利用“继承加方法重写”这种实现方式之外,我们还有其他两种比较常见的的实现方式,一个是利用接口类语法,另一个是利用 duck-typing 语法。 不过,并不是每种编程语言都支持接口类或者 duck-typing 这两种语法机制,比如 C++ 就不支持接口类语法,而 duck-typing 只有一些动态语言才支持,比如Python、JavaScript 现在,我们再来看下,如何用 duck-typing 来实现多态特性。我们还是先来看一段代码。这是一段 Python 代码。 def demo(): logger = Logger() db = DB() test(logger) test(db) 12345678910111213141516 从这段代码中,我们发现,duck-typing 也就是说,只要两个类具有相同的方法,就可以实现多态,并不要求两个类之间有任何关系,这就是所谓的 duck-typing,是一些动态语言所特有的语法机制。

    1.2K70发布于 2021-01-19
  • 02.面向对象的特性

    对于多态特性的实现方式,除了利用“继承加方法重写”这种实现方式之外,我们还有其他两种比较常见的的实现方式,一个是利用接口类语法,另一个是利用 duck-typing 语法。 不过,并不是每种编程语言都支持接口类或者 duck-typing 这两种语法机制,比如 C++ 就不支持接口类语法,而 duck-typing 只有一些动态语言才支持,比如 Python、JavaScript 现在,我们再来看下,如何用 duck-typing 来实现多态特性。我们还是先来看一段代码。这是一段 Python 代码。 也就是说,只要两个类具有相同的方法,就可以实现多态,并不要求两个类之间有任何关系,这就是所谓的 duck-typing,是一些动态语言所特有的语法机制。 多态这种特性也需要编程语言提供特殊的语法机制来实现,比如继承、接口类、duck-typing。多态可以提高代码的扩展性和复用性,是很多设计模式、设计原则、编程技巧的代码实现基础。

    38410编辑于 2025-07-24
  • 08.面向对象的特性

    对于多态特性的实现方式,除了利用“继承加方法重写”这种实现方式之外,我们还有其他两种比较常见的的实现方式,一个是利用接口类语法,另一个是利用 duck-typing 语法。 不过,并不是每种编程语言都支持接口类或者 duck-typing 这两种语法机制,比如 C++ 就不支持接口类语法,而 duck-typing 只有一些动态语言才支持,比如 Python、JavaScript 现在,我们再来看下,如何用 duck-typing 来实现多态特性。我们还是先来看一段代码。这是一段 Python 代码。 也就是说,只要两个类具有相同的方法,就可以实现多态,并不要求两个类之间有任何关系,这就是所谓的 duck-typing,是一些动态语言所特有的语法机制。 多态这种特性也需要编程语言提供特殊的语法机制来实现,比如继承、接口类、duck-typing。多态可以提高代码的扩展性和复用性,是很多设计模式、设计原则、编程技巧的代码实现基础。

    38000编辑于 2025-03-24
  • 来自专栏python3

    刚毕业去面试Python工程师,这几道题

    由于是动态语言,Python使用鸭子类型,即duck-typing,这会增加运行时错误。

    74910发布于 2020-01-16
  • 来自专栏进击的大前端

    JS做类型检测到底有几种方法?看完本文就知道了!

    上面的改为: a.prototype.x = 1; 如果一定要整个覆盖,记得把constructor加回来: a.prototype = { constructor: a, x: 1 } duck-typing duck-typing翻译叫“鸭子类型”,名字比较奇怪,意思是指一个动物,如果看起来像鸭子,走起路来像鸭子,叫起来也像鸭子,那我们就认为他是只鸭子。

    81241发布于 2020-10-15
  • 来自专栏Android机动车

    糟糕程序员和优秀程序员的区别?

    此外,虽然有很多语言都跟随同一个主流编程模型(如面向对象的编程),但它们都只介绍自己的改进,例如递推式构造列表( list comprehensions )、泛型( generics )、鸭式分类( duck-typing

    62550发布于 2018-09-29
  • 来自专栏LEo的网络日志

    go语言接口学习

    go通过接口实现了duck-typing。如果一个对象走路像鸭子,游泳也像鸭子,叫声也像鸭子,那么该对象就可以被称作为鸭子。

    98350发布于 2018-05-15
  • 来自专栏企鹅号快讯

    糟糕程序员和优秀程序员的区别?

    此外,虽然有很多语言都跟随同一个主流编程模型(如面向对象的编程),但它们都只介绍自己的改进,例如递推式构造列表( list comprehensions )、泛型( generics )、鸭式分类( duck-typing

    1K50发布于 2018-01-04
  • 来自专栏人人都是架构师(公众号)

    Golang中interface内部构造与面试真题分析

    另,Go的interface的Duck-typing机制也是依赖这个字段来实现。

    87620编辑于 2022-06-24
  • 来自专栏LEo的网络日志

    22 Nov 2018 go语言简介

    = range s { fmt.Println(idx, v) } fmt.Println(s[1:3]) } 8 接口 接口只声明,不实现 实现多态 duck-typing

    30820编辑于 2023-10-17
  • 来自专栏程序员奇点

    代码设计原则

    多态这个特性需要编程语言的特殊语法机制来实现,比如继承、接口类,duck-typing, 多态可以提高代码的扩展性和复用性,有很多设计模式,设计原则,编程技巧的代码实现基础。

    1.7K30发布于 2021-07-05
  • 来自专栏迈向架构师

    日拱一卒 | 设计模式之美 | 02 面向对象 理论篇

    替换父类 Array,并执行子类的 add 方法 使用接口类也能实现多态特性,例如 Iterator 迭代器,实现了这个接口的子类可以动态的调用不同的 next () 和 hasNext () 实现 还有 duck-typing

    44010编辑于 2023-02-25
  • 来自专栏Golang语言社区

    Go语言interface详解

    value.SayHi() } } 通过上面的代码,你会发现interface就是一组抽象方法的集合,它必须由其他非interface类型实现,而不能自我实现, Go通过interface实现了duck-typing

    2.7K70发布于 2018-03-26
  • 来自专栏Golang语言社区

    Go语言interface详解

    value.SayHi() } } 通过上面的代码,你会发现interface就是一组抽象方法的集合,它必须由其他非interface类型实现,而不能自我实现, Go通过interface实现了duck-typing

    86091发布于 2018-03-23
  • 来自专栏叽叽西

    设计模式的一些概念

    多态这种特性也需要编程语言提供特殊的语法机制来实现,比如继承、接口类、duck-typing。多态可以提高代码的扩展性和复用性,是很多设计模式、设计原则、编程技巧的代码实现基础。

    51810编辑于 2022-05-17
  • 来自专栏码农架构

    接口vs抽象类的区别?如何用普通的类模拟抽象类和接口?

    实际上,对于动态编程语言来说,还有一种对接口支持的策略,那就是 duck-typing。我们在上一节课中讲到多态的时候也有讲过,你可以再回忆一下。 如何决定该用抽象类还是接口?

    1.6K50发布于 2021-01-19
  • 来自专栏京东技术

    深入理解软件设计模式

    像一些动态语言如 Python 也可以通过 duck-typing 的语法实现,另外 Go 语言中的"隐藏式接口"也算是 duck-typing

    62331编辑于 2023-08-22
领券