V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
justrand
V2EX  ›  问与答

大家是怎么理解一些抽象概念的,比如我最近看协变和逆变感觉就是一头雾水

  •  
  •   justrand · 2021-11-18 17:29:31 +08:00 · 1024 次点击
    这是一个创建于 860 天前的主题,其中的信息可能已经有所发展或是发生改变。

    https://www.php.net/manual/zh/language.oop5.variance.php 虽然给了案例,我还是有点看不懂

    7 条回复    2021-11-18 22:29:00 +08:00
    johnsona
        1
    johnsona  
       2021-11-18 19:02:14 +08:00 via iPhone
    他有什么作用 这样去理解
    jmc891205
        2
    jmc891205  
       2021-11-18 19:38:20 +08:00
    看英文会好一点
    christin
        3
    christin  
       2021-11-18 22:05:41 +08:00 via iPhone
    用起来 用起来就懂了
    rpman
        4
    rpman  
       2021-11-18 22:13:01 +08:00
    建议挑个熟悉的语言看
    而且每个语言对协变和逆变的支持程度不一样
    shadowfish0
        5
    shadowfish0  
       2021-11-18 22:21:57 +08:00
    @jmc891205 我英文水平不够,感觉看英文有时候把握不住含义,比如我之前在 vscode 看 java deque.offer 的描述:

    When using a capacity-restricted deque, this method is generally preferable to the add method, which can fail to insert an element only by throwing an exception.

    纯自己读的话,一下子有点搞不清到底 add 和 offer 到底推荐哪个,到底哪个会仅丢异常,太难了...
    shadowfish0
        6
    shadowfish0  
       2021-11-18 22:22:36 +08:00
    @shadowfish0 把握不住然后就会去翻译看看,但总感觉这样还不如直接去看中文写的要好
    rpman
        7
    rpman  
       2021-11-18 22:29:00 +08:00
    @shadowfish0 offer 更好
    而且它确实没说人话
    https://docs.oracle.com/javase/tutorial/collections/interfaces/deque.html
    乌龟壳官方写得一目了然多了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5417 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 08:42 · PVG 16:42 · LAX 01:42 · JFK 04:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.