您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

javascript支持多态吗

2026/2/8 6:42:07发布8次查看
javascript中支持多态;多态指的是为不同数据类型的实体提供统一的接口,多态类型可以将自身所支持的操作套用到其他类型的值上,在javascript中的多态则表示同一操作作用于不同的对象上面可以产生不同的解释和不同的执行结果。
本教程操作环境:windows10系统、javascript1.8.5版、dell g3电脑。
javascript支持多态在编程语言和类型论中,多态(英语:polymorphism)指为不同数据类型的实体提供统一的接口。 多态类型(英语:polymorphic type)可以将自身所支持的操作套用到其它类型的值上。
含义
同一操作作用于不同的对象上面,可以产生不同的解释和不同的执行结果
比方说,我养了一只猫和一只狗,我对它们发出同一个指令 “叫一下”,猫会喵喵喵,而狗会汪汪汪,所以让它们叫一下就是同一操作,而叫声不同则是不同的执行结果。
例如
导演说开始action的时候,每个演员就自己做自己该做的事情,
而不是导演一个个的去告诉每个演员去做什么
多态的最根本的好处在于,你不必再向对象询问你是什么类型
然后根据得到的答案调用对象的某个行为
你只管调用该行为就行了,其他的一切多态机制都会为你安排妥当
// 多态背后的思想是将 做什么 和 谁去做 分离// 也就是将不变的事物 与 可能改变的事物 分离出来// 先来一段反例的多态代码var makesound = function (animal) {if (animal instanceof duck) {console.log('嘎嘎嘎');} else if (animal instanceof chicken) {console.log('咯咯咯');}}var duck = function () { };var chicken = function () { };makesound(new duck());makesound(new chicken());// 此时如果加一个狗,还需要再去改源代码
示例
// 首先把不变的部分隔离出来var makesound = function (animal) {animal.sound();}//然后把可变的部分各自封装起来,var duck = function () { }duck.prototype.sound = function () {console.log("嘎嘎嘎");}var chicken = function () { }chicken.prototype.sound = function () {console.log("咯咯咯");}makesound(new duck());makesound(new chicken());//如果有一天改需求了,加一个动物//简单追加一条代码就可以啦var dog = function () { }dog.prototype.sound = function () {console.log("汪汪汪");}makesound(new dog());
实际案例
// 实际案例var googlemap = {show: function () {console.log('开始渲染谷歌地图');}}var baidumap = {show: function () {console.log('开始渲染百度地图');}}var rendermap = function (map) {if (map.show instanceof function) {map.show();}}rendermap(googlemap)
【相关推荐:javascript视频教程、web前端】
以上就是javascript支持多态吗的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product