数码资讯
js中多态实例的详细解释
多态性是面向对象的编程语言非常重要。在java中,多态性的影响是通过继承。如下: 抽象类动物{ 摘要无效(makesound); / /抽象方法 } 公类鸡延伸动物{ 公共无效makesound(){ System.out.println(傻笑); } } 公共类鸭子扩展动物{ 公共无效makeso
选购提示
关注价格、性能、续航、售后和真实使用场景,理性比较后再下单。
多态性是面向对象的编程语言非常重要。在java中,多态性的影响是通过继承。如下:
抽象类动物{
摘要无效(makesound); / /抽象方法
}
公类鸡延伸动物{
公共无效makesound(){
System.out.println(傻笑);
}
}
公共类鸭子扩展动物{
公共无效makesound(){
System.out.println(嘎嘎);
}
}
动物鸭子=新(鸭);(1)
动物鸡=新(鸡);(2)
事实上,多态性的思想是把做的和做的分开。为了实现这一点,最终需要消除类型之间的耦合关系。
在java,由下向上转型可以实现多态性。Javascript的变量是在运行期变量。js对象不仅可以表示鸭子类型的对象,还可以表示小鸡类型的对象,这意味着Javascript对象的多态性是固有的。
多态性最基本的功能是通过将过程性条件分支语句转换为对象的多态性来消除这些条件分支语句。
假设我们要编写一个地图应用程序,现在我们的应用程序有两个可选的地图API提供者。目前,我们选择了谷歌地图,谷歌地图的API提供了显示整个页面地图的显示方法:
无功oglemap = { {
显示:函数(){
console.log('begin渲染谷歌地图);
}
};
无功rendermap =函数(){()
OgleMap.show();
};
(rendermap); / /输出:谷歌地图绘制
oglemap var = {
显示:函数(){
console.log('begin渲染谷歌地图);
}
};
var = { {百度地图
显示:函数(){
console.log('begin渲染百度地图);
}
};
无功rendermap =功能(型){
如果(类型= 'ogle){
OgleMap.show();
} else if(类型= 'baidu){
BaiduMap.show();
}
};
RenderMap('ogle '); / /输出:谷歌地图绘制
RenderMap ('baidu'); / / output: Baidu map rendering
可以看出,虽然rendermap功能保持目前一定的弹性,这种弹性是非常脆弱的。一旦我们需要更换它的搜索地图,我们必须修改rendermap功能和继续建设条件分支语句。
我们仍然首先对程序的同一部分进行抽象,即显示一幅地图:
无功rendermap =功能(图){
如果(map.show instanceof功能){
Map.show();
}
};
RenderMap(oglemap); / /输出:谷歌地图绘制
RenderMap(百度地图); / /输出:百度地图绘制
之后,我们添加了腾讯地图的支持,我们很快就能实现这个功能而不必修改原始代码:
Var TencentMap = { {
显示:函数(){
console.log('begin渲染腾讯地图);
}
}
RenderMap(sosomap); / /输出:腾讯地图绘制
多态技术是必不可少的,许多设计模式都是通过巧妙地利用多态性来实现的。
总结
以上描述是js中多态示例的一个小样本,希望对您有所帮助!
抽象类动物{
摘要无效(makesound); / /抽象方法
}
公类鸡延伸动物{
公共无效makesound(){
System.out.println(傻笑);
}
}
公共类鸭子扩展动物{
公共无效makesound(){
System.out.println(嘎嘎);
}
}
动物鸭子=新(鸭);(1)
动物鸡=新(鸡);(2)
事实上,多态性的思想是把做的和做的分开。为了实现这一点,最终需要消除类型之间的耦合关系。
在java,由下向上转型可以实现多态性。Javascript的变量是在运行期变量。js对象不仅可以表示鸭子类型的对象,还可以表示小鸡类型的对象,这意味着Javascript对象的多态性是固有的。
多态性最基本的功能是通过将过程性条件分支语句转换为对象的多态性来消除这些条件分支语句。
假设我们要编写一个地图应用程序,现在我们的应用程序有两个可选的地图API提供者。目前,我们选择了谷歌地图,谷歌地图的API提供了显示整个页面地图的显示方法:
无功oglemap = { {
显示:函数(){
console.log('begin渲染谷歌地图);
}
};
无功rendermap =函数(){()
OgleMap.show();
};
(rendermap); / /输出:谷歌地图绘制
oglemap var = {
显示:函数(){
console.log('begin渲染谷歌地图);
}
};
var = { {百度地图
显示:函数(){
console.log('begin渲染百度地图);
}
};
无功rendermap =功能(型){
如果(类型= 'ogle){
OgleMap.show();
} else if(类型= 'baidu){
BaiduMap.show();
}
};
RenderMap('ogle '); / /输出:谷歌地图绘制
RenderMap ('baidu'); / / output: Baidu map rendering
可以看出,虽然rendermap功能保持目前一定的弹性,这种弹性是非常脆弱的。一旦我们需要更换它的搜索地图,我们必须修改rendermap功能和继续建设条件分支语句。
我们仍然首先对程序的同一部分进行抽象,即显示一幅地图:
无功rendermap =功能(图){
如果(map.show instanceof功能){
Map.show();
}
};
RenderMap(oglemap); / /输出:谷歌地图绘制
RenderMap(百度地图); / /输出:百度地图绘制
之后,我们添加了腾讯地图的支持,我们很快就能实现这个功能而不必修改原始代码:
Var TencentMap = { {
显示:函数(){
console.log('begin渲染腾讯地图);
}
}
RenderMap(sosomap); / /输出:腾讯地图绘制
多态技术是必不可少的,许多设计模式都是通过巧妙地利用多态性来实现的。
总结
以上描述是js中多态示例的一个小样本,希望对您有所帮助!
声明:本文内容用于数码产品信息整理与选购参考,具体价格、库存、售后政策以官方渠道和电商页面实时信息为准。