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实现页面图片等比例放大缩小功能
Feb 12 Javascript
jQuery中:has选择器用法实例
Dec 30 Javascript
javascript函数的四种调用模式
Jan 08 Javascript
vue-router跳转页面的方法
Feb 09 Javascript
详解vuex 中的 state 在组件中如何监听
May 23 Javascript
详解vue父子组件间传值(props)
Jun 29 Javascript
微信小程序排坑指南详解
May 23 Javascript
vue仿element实现分页器效果
Sep 13 Javascript
vue 本地环境跨域请求proxyTable的方法
Sep 19 Javascript
javascript实现文本框标签验证的实例代码
Oct 14 Javascript
JavaScript跳出循环的三种方法(break, return, continue)
Jul 30 Javascript
解决vue+elementui项目打包后样式变化问题
Aug 03 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的一个完整SMTP类(解决邮件服务器需要验证时的问题)
2006/10/09 PHP
Windows IIS PHP 5.2 安装与配置方法
2009/06/08 PHP
解析php常用image图像函数集
2013/06/24 PHP
php中的boolean(布尔)类型详解
2013/10/28 PHP
ThinkPHP框架里隐藏index.php
2016/04/12 PHP
php正确输出json数据的实例讲解
2018/08/21 PHP
Javascript 静态页面实现随机显示广告的办法
2010/11/17 Javascript
将form表单中的元素转换成对象的方法适用表单提交
2014/05/02 Javascript
javascript中加号(+)操作符的一些神奇作用
2014/06/06 Javascript
JavaScript+html5 canvas绘制的小人效果
2016/01/27 Javascript
AngularJS优雅的自定义指令
2016/07/01 Javascript
js实现表单及时验证功能 用户信息立即验证
2016/09/13 Javascript
详解Node.js中的事件机制
2016/09/22 Javascript
Angularjs的Controller间通信机制实例分析
2016/11/07 Javascript
微信小程序 向左滑动删除功能的实现
2017/03/10 Javascript
微信小程序 滚动到某个位置添加class效果实现代码
2017/04/19 Javascript
JavaScript箭头(arrow)函数详解
2017/06/04 Javascript
基于Axios 常用的请求方法别名(详解)
2018/03/13 Javascript
详解Vue Elementui中的Tag与页面其它元素相互交互的两三事
2018/09/25 Javascript
element-ui table组件如何使用render属性的实现
2019/11/04 Javascript
解决Layui数据表格显示无数据提示的问题
2019/11/14 Javascript
node crawler如何添加promise支持
2020/02/01 Javascript
浅谈es6中的元编程
2020/12/01 Javascript
使用Python读取大文件的方法
2018/02/11 Python
python面向对象多线程爬虫爬取搜狐页面的实例代码
2018/05/31 Python
python中如何使用分步式进程计算详解
2019/03/22 Python
python内置模块collections知识点总结
2019/12/19 Python
Pytorch 实现数据集自定义读取
2020/01/18 Python
python 对xml解析的示例
2021/02/27 Python
static函数与普通函数有什么区别
2015/12/25 面试题
师范生自荐信范文
2013/10/06 职场文书
初中三好学生事迹材料
2014/01/13 职场文书
人事任命通知
2015/04/20 职场文书
党员承诺书格式范文
2015/04/28 职场文书
合同纠纷调解书
2015/05/20 职场文书
2015年十月一日放假通知
2015/08/18 职场文书