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 相关文章推荐
在jquery boxy中添加百度地图坐标拾取注意流程
Apr 03 Javascript
JS实现自适应高度表单文本框的方法
Feb 25 Javascript
使用微信内置浏览器点击下拉框出现页面乱跳转现象(iphone),该怎么办
Jan 04 Javascript
Bootstrap布局组件应用实例讲解
Feb 17 Javascript
jquery实现右侧栏菜单选择操作
Mar 04 Javascript
前端设计师们最常用的JS代码汇总
Sep 25 Javascript
JS前向后瞻正则表达式定义与用法示例
Dec 27 Javascript
Angular2库初探
Mar 01 Javascript
javascript实现QQ空间相册展示源码
Dec 12 Javascript
vue.js系列中的vue-fontawesome使用
Feb 10 Javascript
Vue 通过自定义指令回顾v-内置指令(小结)
Sep 03 Javascript
原生JS无缝滑动轮播图
Oct 22 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
MySQL GBK→UTF-8编码转换
2007/05/24 PHP
php whois查询API制作方法
2011/06/23 PHP
php解压文件代码实现php在线解压
2014/02/13 PHP
PHP实现将科学计数法转换为原始数字字符串的方法
2014/12/16 PHP
JS实现浏览器菜单命令
2006/09/05 Javascript
Javascript客户端将指定区域导出到Word、Excel的代码
2008/10/22 Javascript
Lazy Load 延迟加载图片的 jQuery 插件
2010/02/06 Javascript
jquery中attr和prop的区别分析
2015/03/16 Javascript
客户端验证用户名和密码的方法详解
2016/06/16 Javascript
AngularJs bootstrap搭载前台框架——基础页面
2016/09/01 Javascript
js运动事件函数详解
2016/10/21 Javascript
JS对象的深度克隆方法示例
2017/03/16 Javascript
JS查找英文文章中出现频率最高的单词
2017/03/20 Javascript
Vuex之理解Mutations的用法实例
2017/04/19 Javascript
Vue兼容ie9的问题全面解决方案
2018/06/19 Javascript
vue路由事件beforeRouteLeave及组件内定时器的清除方法
2018/09/29 Javascript
vue使用video.js进行视频播放功能
2019/07/18 Javascript
详解vue组件之间的通信
2020/08/30 Javascript
[03:01]完美盛典趣味短片 DOTA2年度最佳&拉胯英雄
2019/12/07 DOTA
简化Python的Django框架代码的一些示例
2015/04/20 Python
学习python之编写简单乘法口诀表实现代码
2016/02/27 Python
Django应用程序中如何发送电子邮件详解
2017/02/04 Python
python pandas中对Series数据进行轴向连接的实例
2018/06/08 Python
python爬虫 批量下载zabbix文档代码实例
2019/08/21 Python
PythonPC客户端自动化实现原理(pywinauto)
2020/05/28 Python
python 安装移动复制第三方库操作
2020/07/13 Python
解决Python中导入自己写的类,被划红线,但不影响执行的问题
2020/07/13 Python
pycharm如何设置官方中文(如何汉化)
2020/12/29 Python
美国购物网站:Clickhere2shop
2021/01/28 全球购物
VLAN和VPN有什么区别?分别实现在OSI的第几层?
2014/12/23 面试题
英文版销售经理个人求职信
2013/11/20 职场文书
个人授权委托书范本
2014/04/03 职场文书
员工安全生产责任书
2014/07/22 职场文书
感恩老师主题班会
2015/08/12 职场文书
为什么在foreach循环中JAVA集合不能添加或删除元素
2021/06/11 Java/Android
python用海龟绘图写贪吃蛇游戏
2021/06/18 Python