JavaScript中类的定义、继承

2016-02-19 14:39 3 1 收藏

下面,图老师小编带您去了解一下JavaScript中类的定义、继承,生活就是不断的发现新事物,get新技能~

【 tulaoshi.com - Web开发 】

一.类的定义:

1.混合的构造函数/原型:

 程序代码
function Parent(name) {
    //实例属性
    this.name = name;
}

//实例方法
Parent.prototype.hello = function () {
    alert("parent!");
}

//类属性
Parent.PI = 3.14159;

//类方法
Parent.say = function () {
    alert("say");
}

2.动态原型:

 程序代码
function Parent(name) {
    //实例属性
    this.name = name;

    if (typeof Parent._initialized == "undefined") {
        //实例方法
        Parent.prototype.hello = function () {
            alert("parent!");
        };
      
        //类属性http://qqface.knowsky.com/
        Parent.PI = 3.14159;

        //类方法
        Parent.say = function () {
            alert("say");
        }

        Parent._initialized = true;
    }
}


其中方法1更常用。

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

2.类的继承:

 程序代码
function Child(name, age) {
    Parent.call(this, name);
    this.age = age;
}

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

Child.prototype = new Parent();
//Child.prototype = Parent.prototype;

Child.prototype.hello = function () {
    alert("child!");
}

for (var classMember in Parent) {
    Child[classMember] = Parent[classMember];
}

注意:

1.不能用Child.prototype = Parent.prototype,否则会导致:修改Child的方法同时也修改Parent的方法。

2.使用Child.prototype = Parent.prototype也可以使Child的实例child instanceof Parent为true。

3.其中类方法、类属性的继承实现的比较牵强,期待更好的方法。

来源:https://www.tulaoshi.com/n/20160219/1607484.html

延伸阅读
标签: Web开发
继承样式定义方法,这样写的好处可以节省网页的代码容易真正的代码与内容相分离,对seo优化也有很大的帮助,下面我们来看一个简单的实例. style .nav ul li a:hover{ background:url(imgs/hover.gif) left top no-repeat; } .nav ul li{  height:28px;  width:100%; } .nav ul li a{ display:block; height:28px; width:100%; margin...
标签: Web开发
类是什么? 许多刚接触编程的朋友都可能理解不了类,其实类是对我们这个现实世界的模拟,把它说成类别或者类型可能会更容易理解一些。比如人这种动物就是一个类,而具体某一个人就是人这个类的一个实例,人可以有许多实例(地球人超过六十亿了),但人这个类只有一个。你或许会说那男人和女人不也是人么?怎么只能有一个?其实这里要...
IO 常用IO操作类继承结构 IO字符流Reader(源)BufferedReaderLineNumberReaderInputStreamReaderFileReader(字节流通向字符流的桥梁)   StringReader    Writer(目的)BufferedWriter   OutputStreamWriterFileWriter(字符流通向字节流的桥梁)   StringWriter空  &n...
自已定义一个.h文件,然后,在里面加入类的定义 class CPartA : public CObject { public:  CPartA() {}  virtual ~CPartA() {}  int m_a;  int m_b;  CString m_c;  int m_d;   }; typedef CTypedPtrListCObList, CPartA* CPartAList;//重点在这儿 class CInfoA { public:  CInfoA() {} &nbs...
标签: Web开发
实现类的公有成员 前面定义的任何类成员都属于公有成员的范畴,该类的任何实例都对外公开这些属性和方法。 实现类的私有成员 私有成员即在类的内部实现中可以共享的成员,不对外公开。JavaScript中并没有特殊的机制来定义私有成员,但可以用一些技巧来实现这个功能。 这个技巧主要是通过变量的作用域性质来实现的,在JavaS...

经验教程

611

收藏

82
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部