Javascript简单实现面向对象编程继承实例代码


Posted in Javascript onNovember 27, 2015

本文讲述了Javascript简单实现面向对象编程继承实例代码。分享给大家供大家参考,具体如下:

面向对象的语言必须具备四个基本特征:

1.封装能力(即允许将基本数据类型的变量或函数放到一个类里,形成类的成员或方法)
2.聚合能力(即允许类里面再包含类,这样可以应付足够复杂的设计)
3.支持继承(父类可以派生出子类,子类拥有父母的属性或方法)
4.支持多态(允许同样的方法名,根据方法签名[即函数的参数]不同,有各自独立的处理方法)

这四个基本属性,javascript都可以支持,所以javascript确实是一种弱类型的面向对象的语言,这里给出一个简单的类继承的代码

<script type="text/javascript">
//父类ClassA
function ClassA(sColor) {
  this.color = sColor;
  this.sayColor = function () {
    document.write("Color:" + this.color + "<br/>");
  };
}
//子类ClassB,继承自ClassA
function ClassB(sColor,sName){  
  ClassA.call(this,sColor);//利用call函数,将ClassA的所有方法都赋给ClassB,即实现了继承
  this.name = sName;
  this.sayName = function(){
    document.write("Name:" + this.name + "<br/>");
  }
}
var oClassA = new ClassA("Red");
oClassA.sayColor();
var oClassB = new ClassB("Blue","Jimmy.Yang");
oClassB.sayColor();//这里sayColor方法是从ClassA继承来的
oClassB.sayName();//这是ClassB中的新方法
/*
call函数的演示示例
function sayColor(sPrefix, sSuffix) {
alert(sPrefix + this.color + sSuffix);
};
var obj = new Object();
sayColor.call(obj, "The color is ", ", a very nice color indeed. ");
*/
</script>

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
学习JS面向对象成果 借国庆发布个最新作品与大家交流
Oct 03 Javascript
js 判断脚本加载完毕的代码
Jul 13 Javascript
jQuery实现订单提交页发送短信功能前端处理方法
Jul 04 Javascript
微信jssdk用法汇总
Jul 16 Javascript
关于数据与后端进行交流匹配(点亮星星)
Aug 03 Javascript
BootStrap Datetimepicker 汉化的实现代码
Feb 10 Javascript
JS实现快速比较两个字符串中包含有相同数字的方法
Sep 11 Javascript
node.js中http模块和url模块的简单介绍
Oct 06 Javascript
vue 项目如何引入微信sdk接口的方法
Dec 18 Javascript
解决vue-cli3 使用子目录部署问题
Jul 19 Javascript
Vue Router去掉url中默认的锚点#
Aug 01 Javascript
Vue+TypeScript中处理computed方式
Apr 02 Vue.js
分享一些常用的jQuery动画事件和动画函数
Nov 27 #Javascript
JS实现的仿淘宝交易倒计时效果
Nov 27 #Javascript
谈谈jQuery Ajax用法详解
Nov 27 #Javascript
JavaScript中使用sencha gridpanel 编辑单元格、改变单元格颜色
Nov 26 #Javascript
基于jquery实现全屏滚动效果
Nov 26 #Javascript
javascript给span标签赋值的方法
Nov 26 #Javascript
谈谈javascript中使用连等赋值操作带来的问题
Nov 26 #Javascript
You might like
php set_magic_quotes_runtime() 函数过时解决方法
2010/07/08 PHP
PHP无法访问远程mysql的问题分析及解决
2013/05/16 PHP
php图片的二进制转换实现方法
2014/12/15 PHP
利用PHP抓取百度阅读的方法示例
2016/12/18 PHP
解决laravel-admin 自己新建页面里 js 需要刷新一次的问题
2019/10/03 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
2020/04/04 PHP
优化JavaScript脚本的性能的几个注意事项
2006/12/22 Javascript
用于节点操作的API,颠覆原生操作HTML DOM节点的API
2010/12/11 Javascript
去掉gridPanel表头全选框的小例子
2013/07/18 Javascript
原生JS实现响应式瀑布流布局
2015/04/02 Javascript
如何使用jquery easyui创建标签组件
2015/11/18 Javascript
自动完成的搜索框javascript实现
2016/02/26 Javascript
在javascript中创建对象的各种模式解析
2016/05/16 Javascript
ECHO.js 纯javascript轻量级延迟加载的实例代码
2016/05/24 Javascript
带有定位当前位置的百度地图前端web api实例代码
2016/06/21 Javascript
js点击任意区域弹出层消失实现代码
2016/12/27 Javascript
JavaScript实现图片无缝滚动效果
2017/07/07 Javascript
js实现移动端导航点击自动滑动效果
2017/07/18 Javascript
如何理解Vue的作用域插槽的实现原理
2017/08/19 Javascript
jQuery中内容过滤器简单用法示例
2018/03/31 jQuery
jQuery实现鼠标点击处心形漂浮的炫酷效果示例
2018/04/12 jQuery
vue-cli 3.x 配置Axios(proxyTable)跨域代理方法
2018/09/19 Javascript
ant design vue中日期选择框混合时间选择器的用法说明
2020/10/27 Javascript
连接Python程序与MySQL的教程
2015/04/29 Python
浅谈Python数据类型判断及列表脚本操作
2016/11/04 Python
浅谈python装饰器探究与参数的领取
2017/12/01 Python
Python利用splinter实现浏览器自动化操作方法
2018/05/11 Python
对Django 中request.get和request.post的区别详解
2019/08/12 Python
opencv 获取rtsp流媒体视频的实现方法
2019/08/23 Python
python 可视化库PyG2Plot的使用
2021/01/21 Python
Python爬取酷狗MP3音频的步骤
2021/02/26 Python
工业学校毕业生自荐书
2014/01/03 职场文书
公务员转正鉴定材料
2014/02/11 职场文书
年终考核实施方案
2014/05/26 职场文书
环保志愿者活动总结
2014/06/27 职场文书
幼儿园推普周活动总结
2015/05/07 职场文书