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动态创建一个html DOM元素并显示
Oct 15 Javascript
javascript 用函数实现继承详解
May 28 Javascript
详解vuelidate 对于vueJs2.0的验证解决方案
Mar 09 Javascript
AngularJS中scope的绑定策略实例分析
Oct 30 Javascript
JavaScript变量声明var,let.const及区别浅析
Apr 23 Javascript
vue.js 实现输入框动态添加功能
Jun 25 Javascript
vue单页面实现当前页面刷新或跳转时提示保存
Nov 02 Javascript
在微信小程序中保存网络图片
Feb 12 Javascript
vue项目中使用AES实现密码加密解密(ECB和CBC两种模式)
Aug 12 Javascript
vue使用swiper实现中间大两边小的轮播图效果
Nov 24 Javascript
vue3.0 加载json的方法(非ajax)
Oct 26 Javascript
Vue如何循环提取对象数组中的值
Nov 18 Vue.js
分享一些常用的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
很温暖很温暖的Lester Young
2021/03/03 冲泡冲煮
php 向访客和爬虫显示不同的内容
2009/11/09 PHP
深入PHP变量存储的详解
2013/06/13 PHP
php中get_magic_quotes_gpc()函数说明
2017/02/06 PHP
PHP仿tp实现mvc框架基本设计思路与实现方法分析
2018/05/23 PHP
js之WEB开发调试利器:Firebug 下载
2007/01/13 Javascript
javascript下给元素添加事件的方法与代码
2007/08/13 Javascript
CLASS_CONFUSION JS混淆 全源码
2007/12/12 Javascript
到处都是jQuery选择器的年代 不了解它们的性能,行吗
2012/06/18 Javascript
jQuery 快速结束当前正在执行的动画
2013/11/20 Javascript
sencha ext js 6 快速入门(必看)
2016/06/01 Javascript
Web打印解决方案之普通报表打印功能
2016/08/29 Javascript
BootStrap中按钮点击后被禁用按钮的最佳实现方法
2016/09/23 Javascript
bootstrap table分页模板和获取表中的ID方法
2017/01/10 Javascript
原生js仿浏览器滚动条效果
2017/03/02 Javascript
Vue.js用法详解
2017/11/13 Javascript
AngularJS $http post 传递参数数据的方法
2018/10/09 Javascript
vue.js 2.0实现简单分页效果
2019/07/29 Javascript
JS实现利用闭包判断Dom元素和滚动条的方向示例
2019/08/26 Javascript
详解python调度框架APScheduler使用
2017/03/28 Python
python嵌套字典比较值与取值的实现示例
2017/11/03 Python
Python拼接字符串的7种方法总结
2018/11/01 Python
python  ceiling divide 除法向上取整(或小数向上取整)的实例
2019/12/27 Python
PyCharm安装PyQt5及其工具(Qt Designer、PyUIC、PyRcc)的步骤详解
2020/11/02 Python
CSS3使用transition实现的鼠标悬停淡入淡出
2015/01/09 HTML / CSS
HTML5自定义属性前缀data-及dataset的使用方法(html5 新特性)
2017/08/24 HTML / CSS
幼儿园美术教学反思
2014/01/31 职场文书
职工运动会感言
2014/02/07 职场文书
《生命的药方》教学反思
2014/04/08 职场文书
化学教育专业求职信
2014/07/08 职场文书
学习实践科学发展观心得体会
2014/09/10 职场文书
股东大会通知
2015/04/24 职场文书
七年级作文之雪景
2019/11/18 职场文书
Anaconda安装pytorch及配置PyCharm 2021环境
2021/06/04 Python
Javascript设计模式之原型模式详细
2021/10/05 Javascript
Python帮你解决手机qq微信内存占用太多问题
2022/02/15 Python