js面向对象的系列
2021-06-17 14:04
标签:继承 成员 icm 成员变量 调用 问题 函数定义 his function 在面向对象语言中如java,C#如何定义一个对象,通常是定义一个类,然后在类中定义属性,然后通过new 关键字来实例化这个类,我们知道面向对象有三个特点,继承、多态和封装。那么问题来了,在javaScript中如何定义一个类?在javaScript中如何定义类的属性?如何继承?带着这些问题开始我们的js面向对象之旅吧。 在js中如何定义类? js中是没有类的概念的,但是我们通常会用一个函数定义成一个类。funtion class1(){ //类的成员定义 } 这里class1既是一个函数也是一个类。我们可以通过var cl1=new class1();来实例化这个类。 再来试着为类添加一些属性。 添加类的公有成员: function class1{ this.publicmember="我是公共的属性"; this.publicmembermethond=function(msg){alert("我是公共的方法"+msg);}; } 试着调用一下: class1 cl=new class1(); cl.publicmembermethond(cl.publicmember); 另外一种添加公共方法和属性的方法是通过prototype原型实例。看代码如下 class1.prototype.publicmember="我是公共的属性"; class1.prototype.publicmembermethond=function(msg){alert("我是公共的方法"+msg);}; 调用方法同上。大家可以试着运行一下看看效果。后面会单独一章来讲prototype。 如何定义私有成员?代码如下: function class1{ var privatemember="我是私有的你们不能访问"; var privatemembermethond=function(msg){alert("我是私有的方法,我可以访问私有的变量privatemember:"+privatemember);}; this.publicmember="我是公共的属性"; this.publicmembermethond=function(msg){alert("我是公共的方法"+msg);}; } class1 cl=new class1(); cl.privatemembermethond(cl.privatemember); 这段调用会报错,因为私有的成员只能在类的内部访问。 如何定义静态变量: class1.staticmember="我是个静态变量"; class1.staticmembermethon=funtion (){alert("直接访问静态变量:"+class1.staticmember);}; ok,今天到这里,一个讲了如何定义类,如何定义类的成员变量两个问题。下一节讲一讲原型实例prototype,这是js面向对象的重要角色,只有先理解了它才能对后面的继承进行理解。 js面向对象的系列 标签:继承 成员 icm 成员变量 调用 问题 函数定义 his function 原文地址:http://www.cnblogs.com/yiyeyiye/p/7265977.html
上一篇:CSS(三)
下一篇:CSS3 backgrounds