【JavaScript】20_面向对象——多态

举报
魔天伦 发表于 2023/02/23 13:06:22 2023/02/23
1k+ 0 0
【摘要】 7、多态定义一个函数,这个函数将接收一个对象作为参数,他可以输出hello并打印对象的name属性多态在JS中不会检查参数的类型,所以这就意味着任何数据都可以作为参数传递要调用某个函数,无需指定的类型,只要对象满足某些条件即可如果一个东西走路像鸭子,叫起来像鸭子,那么它就是鸭子多态为我们提供了灵活性 <script> class Person{ c...

7、多态

定义一个函数,这个函数将接收一个对象作为参数,他可以输出hello并打印对象的name属性

多态

  • 在JS中不会检查参数的类型,所以这就意味着任何数据都可以作为参数传递
  • 要调用某个函数,无需指定的类型,只要对象满足某些条件即可
  • 如果一个东西走路像鸭子,叫起来像鸭子,那么它就是鸭子
  • 多态为我们提供了灵活性
    <script>
        class Person{
            constructor(name){
                this.name = name
            }
        }

        class Dog{
            constructor(name){
                this.name = name
            }
        }

        class Test{

        }

        const dog = new Dog('旺财')
        const person = new Person("孙悟空")
        const test = new Test()

        // console.log(dog)
        // console.log(person)
       function sayHello(obj){
            // if(obj instanceof Person){
                console.log("Hello,"+obj.name)
            // }
       }

       sayHello(dog)
    </script>
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。