开发者社区> 杨俊明> 正文

[基础]Javascript中的继承示例代码

简介: 面向对象的语言必须具备四个基本特征: 1.封装能力(即允许将基本数据类型的变量或函数放到一个类里,形成类的成员或方法) 2.聚合能力(即允许类里面再包含类,这样可以应付足够复杂的设计) 3.支持继承(父类可以派生出子类,子类拥有父母的属性或方法) 4.
+关注继续查看
面向对象的语言必须具备四个基本特征:
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>

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Clean Code之JavaScript代码示例
译者按: 简洁的代码可以避免写出过多的BUG。 原文: JavaScript Clean Code - Best Practices 译者: Fundebug 本文采用意译,版权归原作者所有 引文 作为一个开发者,如果你关心代码质量,除了需要认真测试代码能否正确执行以外,还要注重代码的整洁(clean code)。
621 0
Java基础-代码执行顺序(重要)
Java代码初始化顺序:     1.由 static 关键字修饰的(如:类变量(静态变量)、静态代码块)将在类被初始化创建实例对象之前被初始化,而且是按顺序从上到下依次被执行。静态(类变量、静态代码块)属于类本身,不依赖于类的实例。     2.没有 static 关键字修饰的(如:实例变量(非静态变量)、非静态代码块)初始化实际上是会被提取到类的构造器中被执行的,但是会比类构造器中的代码
1768 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
14068 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
8320 0
《HTML5+JavaScript动画基础》——2.3 用代码实现动画
在准备好HTML5文件的基本结构之后,我们已经了解了足够多的基础知识,可以开始编码了。我们需要一个文本编辑器用来输入示例代码以及一个支持HTML5的Web浏览器运行这些示例。同时我们需要熟悉该浏览器内置的开发者控制台。
2082 0
中文代码示例教程之Java编程一天入门
以中文编写示例代码的Java入门短教程. Short beginner's tutorial of Java programming with sample codes using Chinese naming.
859 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
13724 0
Java基础-08总结帮助文档,代码块,继承
1:如何制作帮助文档(了解)(1)写一个类(2)加入文档注释(3)通过javadoc工具生成即可javadoc -d 目录 -author -version ArrayTool.java /*我想要对数组进行操作在同一个文件夹下,类定义在两个文件中和定义在一个文件中其实一样的。 */ class ArrayDemo {public static void main(String[]
1169 0
+关注
杨俊明
菩提树下的杨过 http://yjmyzz.cnblogs.com/
1105
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载