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 相关文章推荐
DOM2非标准但却支持很好的几个属性小结
Jan 21 Javascript
js post提交调用方法
Feb 12 Javascript
jQuery动态背景图片效果实现方法
Jul 03 Javascript
jQuery实现提示密码强度的代码
Jul 15 Javascript
基于百度地图实现产品销售的单位位置查看功能设计与实现
Oct 21 Javascript
JS双击变input框批量修改内容
Dec 12 Javascript
js遍历获取表格内数据的方法(必看)
Apr 06 Javascript
基于Vue实现timepicker
Apr 25 Javascript
vue-router 中router-view不能渲染的解决方法
May 23 Javascript
详解react-router 4.0 下服务器如何配合BrowserRouter
Dec 29 Javascript
Vue2.x通用编辑组件的封装及应用详解
May 28 Javascript
vue 页面回退mounted函数不执行的解决方案
Jul 26 Javascript
分享一些常用的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更新mysql后获取影响的行数发生异常解决方法
2013/03/28 PHP
php使浏览器直接下载pdf文件的方法
2013/11/15 PHP
PHP变量的定义、可变变量、变量引用、销毁方法
2013/12/20 PHP
PHP+ajaxfileupload+jcrop插件完美实现头像上传剪裁
2014/06/09 PHP
Laravel构建即时应用的一种实现方法详解
2017/08/31 PHP
PHP抽象类与接口的区别详解
2019/03/21 PHP
js里的prototype使用示例
2010/11/19 Javascript
Jquery中删除元素的实现代码
2011/12/29 Javascript
jQuery的显示和隐藏方法与css隐藏的样式对比
2013/10/18 Javascript
js中document.write使用过程中的一点疑问解答
2014/03/20 Javascript
如何让一个json文件显示在表格里【实现代码】
2016/05/09 Javascript
几种二级联动案例(jQuery\Array\Ajax php)
2016/08/13 Javascript
浅谈jQuery操作类数组的工具方法
2016/12/23 Javascript
bootstrap timepicker在angular中取值并转化为时间戳
2017/06/13 Javascript
js+html制作简单日历的方法
2017/06/27 Javascript
解决layui轮播图有数据不显示的情况
2019/09/16 Javascript
使用Python的Tornado框架实现一个简单的WebQQ机器人
2015/04/24 Python
简单解析Django框架中的表单验证
2015/07/17 Python
django允许外部访问的实例讲解
2018/05/14 Python
python写日志文件操作类与应用示例
2019/07/01 Python
Python高级特性 切片 迭代解析
2019/08/23 Python
John Hardy官方网站:手工设计首饰的奢侈品牌
2017/07/05 全球购物
日本最佳原创设计品牌:Felissimo(芬理希梦)
2019/03/19 全球购物
SQL Server数据库笔试题和答案
2016/02/04 面试题
玩具公司的创业计划书
2013/12/31 职场文书
家具促销活动方案
2014/02/16 职场文书
好学生评语大全
2014/05/05 职场文书
优秀毕业生找工作自荐信
2014/06/23 职场文书
借名购房协议书范本
2014/10/06 职场文书
个人工作总结范文2014
2014/11/07 职场文书
2015年销售人员工作总结
2015/04/07 职场文书
刑事上诉状(量刑过重)
2015/05/23 职场文书
家长对学校的意见和建议
2015/06/03 职场文书
垂直极限观后感
2015/06/08 职场文书
于丹论语心得观后感
2015/06/15 职场文书
MySQL通过binlog恢复数据
2021/05/27 MySQL