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与WebMethod投票功能实现代码
Jan 19 Javascript
dwz 如何去掉ajaxloading具体代码
May 22 Javascript
jQuery 三击事件实现代码
Sep 11 Javascript
鼠标划过实现延迟加载并隐藏层的js代码
Oct 11 Javascript
详解JavaScript中的事件流和事件处理程序
May 20 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(一)之数据支持json字符串、list集合
Aug 11 Javascript
js封装tab标签页实例分享
Dec 19 Javascript
vue.js 上传图片实例代码
Jun 22 Javascript
vue-quill-editor实现图片上传功能
Aug 08 Javascript
js 实现复选框只能选择一项的示例代码
Jan 23 Javascript
微信小程序日历组件使用方法详解
Dec 29 Javascript
浅谈vue.use()方法从源码到使用
May 12 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 前一天或后一天的日期
2008/06/28 PHP
JavaScript创建命名空间的5种写法
2014/06/24 PHP
完美的2个php检测字符串是否是utf-8编码函数分享
2014/07/28 PHP
如何使用纯PHP实现定时器任务(Timer)
2015/07/31 PHP
PHP SFTP实现上传下载功能
2017/07/26 PHP
CI框架教程之优化验证码机制详解【验证码辅助函数】
2019/04/16 PHP
PHP常用字符串函数用法实例总结
2020/06/04 PHP
ext for eclipse插件安装方法
2008/04/27 Javascript
ExtJS4利根据登录后不同的角色分配不同的树形菜单
2014/05/02 Javascript
JavaScript数组常用方法
2015/03/02 Javascript
自定义jQuery插件方式实现强制对象重绘的方法
2015/03/23 Javascript
JavaScript核心语法总结(推荐)
2016/06/02 Javascript
canvas实现动态小球重叠效果
2017/02/06 Javascript
nodejs读写json文件的简单方法(必看)
2017/03/09 NodeJs
JavaScript简介_动力节点Java学院整理
2017/06/26 Javascript
JQuery Ajax跨域调用和非跨域调用问题实例分析
2019/04/16 jQuery
layui实现下拉复选功能的例子(包括数据的回显与上传)
2019/09/24 Javascript
微信h5静默和非静默授权获取用户openId的方法和步骤
2020/06/08 Javascript
django之常用命令详解
2016/06/30 Python
python下读取公私钥做加解密实例详解
2017/03/29 Python
python数据处理 根据颜色对图片进行分类的方法
2018/12/08 Python
Python理解递归的方法总结
2019/01/28 Python
Python爬虫实现验证码登录代码实例
2019/05/10 Python
实现Python与STM32通信方式
2019/12/18 Python
tensorflow之tf.record实现存浮点数数组
2020/02/17 Python
什么是python的必选参数
2020/06/21 Python
Win10环境中如何实现python2和python3并存
2020/07/20 Python
matplotlib之pyplot模块坐标轴标签设置使用(xlabel()、ylabel())
2021/02/22 Python
英国最大的网上药品商店:Chemist Direct
2017/12/16 全球购物
2014学习优秀共产党员先进事迹材料思想汇报
2014/09/14 职场文书
考生诚信考试承诺书
2015/04/29 职场文书
新闻稿格式范文
2015/07/18 职场文书
党员心得体会范文2016
2016/01/23 职场文书
Python合并多张图片成PDF
2021/06/09 Python
python opencv检测直线 cv2.HoughLinesP的实现
2021/06/18 Python
最新动漫情报:2022年7月新番定档超过30部, OVERLORD骨王第四季也在其中噢
2022/05/04 日漫