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,有空研究学习下
Jan 25 Javascript
子窗体与父窗体传值示例js代码
Aug 01 Javascript
JS幻灯片可循环播放可平滑旋转带滚动导航(自写)
Aug 05 Javascript
javascript scrollTop正解使用方法
Nov 14 Javascript
javascript获取隐藏元素(display:none)的高度和宽度的方法
Jun 06 Javascript
Node.js的包详细介绍
Jan 14 Javascript
javascript白色简洁计算器
May 04 Javascript
创建自己的jquery表格插件
Nov 25 Javascript
JavaScript模块化之使用requireJS按需加载
Apr 12 Javascript
Node.js API详解之 tty功能与用法实例分析
Apr 27 Javascript
浅析JavaScript 函数防抖和节流
Jul 13 Javascript
解决vue项目中遇到 Cannot find module ‘chalk‘ 报错的问题
Nov 05 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 session 存储方式的详细介绍
2013/06/25 PHP
分享一个超好用的php header下载函数
2014/01/31 PHP
浅谈PHP中Stream(流)
2015/06/08 PHP
php实现连接access数据库并转txt写入的方法
2017/02/08 PHP
Laravel框架实现的记录SQL日志功能示例
2018/06/19 PHP
一个不错的应用,用于提交获取文章内容,不推荐用
2007/03/03 Javascript
Gird组件 Part-3:范例RSSFeed Viewer
2007/03/10 Javascript
javascript 打开页面window.location和window.open的区别
2010/03/17 Javascript
javascript (用setTimeout而非setInterval)
2011/12/28 Javascript
eval的两组性能测试数据
2012/08/17 Javascript
从数据结构分析看:用for each...in 比 for...in 要快些
2013/04/17 Javascript
谈谈JavaScript的New关键字
2016/08/26 Javascript
web打印小结
2017/01/11 Javascript
AngulaJS路由 ui-router 传参实例
2017/04/28 Javascript
Angular2使用jQuery的方法教程
2017/05/28 jQuery
详解Vue 开发模式下跨域问题
2017/06/06 Javascript
JS实现问卷星自动填问卷脚本并在两秒自动提交功能
2020/06/17 Javascript
一个基于react的图片裁剪组件示例
2018/04/18 Javascript
layui使用templet格式化表格数据的方法
2019/09/16 Javascript
Javascript ParentNode和ChildNode接口原理解析
2020/03/16 Javascript
你准备好迎接vue3.0了吗
2020/04/28 Javascript
浅析微信小程序自定义日历组件及flex布局最后一行对齐问题
2020/10/29 Javascript
Python爬虫之xlml解析库(全面了解)
2017/08/08 Python
Python使用pickle模块报错EOFError Ran out of input的解决方法
2018/08/16 Python
Pycharm设置去除显示的波浪线方法
2018/10/28 Python
在python中实现将一张图片剪切成四份的方法
2018/12/05 Python
详解python-图像处理(映射变换)
2019/03/22 Python
解决Pyinstaller 打包exe文件 取消dos窗口(黑框框)的问题
2019/06/21 Python
PyTorch的深度学习入门教程之构建神经网络
2019/06/27 Python
python opencv 批量改变图片的尺寸大小的方法
2019/06/28 Python
HTML5实现桌面通知 提示功能
2017/10/11 HTML / CSS
GOOD AMERICAN官网:为曲线性感而设计
2017/12/28 全球购物
电子商务专业学生的学习自我评价
2013/10/27 职场文书
思想政治教育专业个人求职信范文
2013/12/20 职场文书
毕业论文致谢部分怎么写
2015/05/14 职场文书
MySQL对数据表已有表进行分区表的实现
2021/11/01 MySQL