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 点击按钮弹出另一页,选择值后,返回到当前页
May 26 Javascript
EXTJS记事本 当CompositeField遇上RowEditor
Jul 31 Javascript
你必须知道的JavaScript 变量命名规则详解
May 07 Javascript
jQuery对象和DOM对象之间相互转换的方法介绍
Feb 28 Javascript
JavaScript检查数字是否为整数或浮点数的方法
Jun 09 Javascript
简介JavaScript中Math.cos()余弦方法的使用
Jun 15 Javascript
使用AngularJS创建单页应用的编程指引
Jun 19 Javascript
Backbone中View之间传值的学习心得
Aug 09 Javascript
jquery实现的回旋滚动效果完整实例【附demo源码下载】
Sep 20 Javascript
微信小程序实现皮肤功能(夜间模式)
Jun 18 Javascript
关于使用axios的一些心得技巧分享
Jul 02 Javascript
jquery绑定事件 bind和on的用法与区别分析
May 22 jQuery
分享一些常用的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二维数组排序与默认自然排序的方法介绍
2013/04/27 PHP
深入file_get_contents函数抓取内容失败的原因分析
2013/06/25 PHP
php限制上传文件类型并保存上传文件的方法
2015/03/13 PHP
ext for eclipse插件安装方法
2008/04/27 Javascript
JQuery 选择和过滤方法代码总结
2010/11/19 Javascript
用js代码和插件实现wordpress雪花飘落效果的四种方法
2014/12/15 Javascript
Jquery 实现弹出层插件
2015/01/28 Javascript
jQuery简单几行代码实现tab切换
2015/03/10 Javascript
nodejs实现遍历文件夹并统计文件大小
2015/05/28 NodeJs
谈一谈bootstrap响应式布局
2016/05/23 Javascript
Bootstrap中的表单验证插件bootstrapValidator使用方法整理(推荐)
2016/06/21 Javascript
JS简单获取客户端IP地址的方法【调用搜狐接口】
2016/09/05 Javascript
vue中如何实现后台管理系统的权限控制的方法示例
2018/09/19 Javascript
详解关于element级联选择器数据回显问题
2019/02/20 Javascript
微信小程序五子棋游戏的悔棋实现方法【附demo源码下载】
2019/02/20 Javascript
layui 实现自动选择radio单选框(checked)的方法
2019/09/03 Javascript
vue-cli3项目升级到vue-cli4 的方法总结
2020/03/19 Javascript
[37:29]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第二场 11.19
2020/11/19 DOTA
python中matplotlib实现最小二乘法拟合的过程详解
2017/07/11 Python
python网络爬虫之如何伪装逃过反爬虫程序的方法
2017/11/23 Python
python实现在IDLE中输入多行的方法
2018/04/19 Python
Python django使用多进程连接mysql错误的解决方法
2018/10/08 Python
神经网络相关之基础概念的讲解
2018/12/29 Python
Python递归函数 二分查找算法实现解析
2019/08/12 Python
Django接收自定义http header过程详解
2019/08/23 Python
python多线程案例之多任务copy文件完整实例
2019/10/29 Python
adidas菲律宾官网:adidas PH
2020/02/07 全球购物
检察官就职演讲稿
2014/01/13 职场文书
入学申请自荐信范文
2014/02/26 职场文书
关于梦想的演讲稿
2014/05/05 职场文书
2014党员民主评议个人总结
2014/09/10 职场文书
2014年旅游局法制宣传日活动总结
2014/11/01 职场文书
总账会计岗位职责
2015/04/02 职场文书
党员干部公开承诺书范文
2015/04/27 职场文书
Golang二维数组的使用方式
2021/05/28 Golang
如何在Python中妥善使用进度条详解
2022/04/05 Python