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 相关文章推荐
JavaScript 基础问答三
Dec 03 Javascript
javascript function调用时的参数检测常用办法
Feb 26 Javascript
jquery 模拟雅虎首页的点击对话框效果
Apr 11 Javascript
仅IE支持clearAttributes/mergeAttributes方法使用介绍
May 04 Javascript
Jquery获取元素的父容器对象示例代码
Feb 10 Javascript
jquery通过select列表选择框对表格数据进行过滤示例
May 07 Javascript
jQuery实现冻结表格行和列
Apr 29 Javascript
javascript实现的图片预览功能
Mar 25 Javascript
基于JSON数据格式详解
Aug 31 Javascript
JavaScript学习笔记之基于定时器实现图片无缝滚动功能详解
Jan 09 Javascript
使用vue脚手架(vue-cli)搭建一个项目详解
May 09 Javascript
JavaScript深入V8引擎以及编写优化代码的5个技巧
Jun 24 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模板,主要想体现一下思路
2006/12/25 PHP
php通过array_merge()函数合并两个数组的方法
2015/03/18 PHP
php程序内部post数据的方法
2015/03/31 PHP
PHP面向对象编程之深入理解方法重载与方法覆盖(多态)
2015/12/24 PHP
比较简单实用的使用正则三种版本的js去空格处理方法
2007/11/18 Javascript
JavaScript获取表单enctype属性的方法
2015/04/02 Javascript
五种js判断是否为整数类型方式
2015/12/03 Javascript
学习JavaScript鼠标响应事件
2015/12/25 Javascript
vue多级多选菜单组件开发
2020/09/08 Javascript
JS求解三元一次方程组值的方法
2017/01/03 Javascript
详解使用vuex进行菜单管理
2017/12/21 Javascript
详解vue中点击空白处隐藏div的实现(用指令实现)
2018/04/19 Javascript
vue-cli配置环境变量的方法
2018/07/09 Javascript
关于自定义Egg.js的请求级别日志详解
2018/12/12 Javascript
如何使用less实现随机下雪动画详解
2019/01/02 Javascript
vue3.0 上手体验
2020/09/21 Javascript
Vue2.0 ES6语法降级ES5的操作
2020/10/30 Javascript
利用Python查看目录中的文件示例详解
2017/08/28 Python
Python简直是万能的,这5大主要用途你一定要知道!(推荐)
2019/04/03 Python
用Python中的turtle模块画图两只小羊方法
2019/04/09 Python
对numpy下的轴交换transpose和swapaxes的示例解读
2019/06/26 Python
python实现文本进度条 程序进度条 加载进度条 单行刷新功能
2019/07/03 Python
python进度条显示-tqmd模块的实现示例
2020/08/23 Python
CSS3 绘制BMW logo实的现代码
2013/04/25 HTML / CSS
CSS3只让背景图片旋转180度的实现示例
2021/03/09 HTML / CSS
MaBelle玛贝尔香港官网:香港钻饰连锁店
2019/09/09 全球购物
存储过程和sql语句的优缺点
2014/07/02 面试题
Solaris操作系统的线程机制
2012/12/23 面试题
中软国际Java程序员笔试题
2014/07/19 面试题
如何打造一封优秀的留学推荐信
2014/01/25 职场文书
2014年小学植树节活动方案
2014/03/02 职场文书
防汛通知
2015/04/25 职场文书
元旦晚会主持词开场白
2015/05/28 职场文书
初中生入团申请书范文(五篇)
2019/10/16 职场文书
Pandas自定义选项option设置
2021/07/25 Python
通过feDisplacementMap和feImage实现水波特效
2022/04/24 HTML / CSS