JavaScriptES6中的类和对象

Posted 鸣人卷

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScriptES6中的类和对象相关的知识,希望对你有一定的参考价值。

       面向对象可以用于描述现实世界的事物,但是事物分为具体的(特指的)事物和抽象的(泛指的)事物。
面向对象思维的特点:
1.抽取(抽象)对象共有的属性和行为组织(封装)成一个类(模板)
2.对类进行实例化,获取类和对象 
3.对象--特指的
1) 对象是一个具体的事物,一个苹果、一张网页、一个数据库、一个与远程服务器的连接也是对象;
2) javascript中 对象是一组无序的相关属性和方法的集合,所有的事物都是对象,例如,字符串、数值、数组、函数等。
    属性:事物的特征,在对象中用属性来表示(常用名词)如,人的name
    方法:事物的行为,在对象中用方法来表示(常用动词)

4.类--泛指的 
   可以用class关键字声明一个类(字母大写),之后以这个类来实例化对象。
5.类和对象的区别:
1) 类抽象了对象的公共部分,它泛指某一大类(class)
2) 对象特指某一个,通过类实例化一个具体的对象 
3) 类必须使用new实例化对象
4) 创建类 创建对象
    语法:
class Name { // body}
    创建实例:
var xx = new Name();
6.语法规范:
1) 用class关键字声明一个类,首字母大写
2) 类里面的constructor函数,存放的是类的共有属性;
    可以接受传递过来的参数,同时返回实例对象(不需要return哦)
    只要new生成实例时,就会自动调用这个函数,如果我们不写这个函数,类会自动生成这个函数
3) 生成实例的new不能省略 
4) 创建类时 类名后面不加小括号,生成实例 类后面加小括号 
5) 构造函数不需要加function(类里面的所有函数不需要添加function)
6) 多个函数方法之间不需要用逗号分隔
 
具体的实例如下:
// 1.创建一个明星类
class Star{
    // 类的共有属性放到constructor中
    constructor(name, age){
        this.name = name;
        this.age  = age;
    }
    sing(song){
        alert(this.name+"唱"+song);
    }
    play(){
        alert("play");
    }
}
// 2.利用类创建对象
var aa = new Star(‘小明‘, 20);
var bb = new Star(‘小红‘, 20);

console.log(aa.name); // 小明
console.log(bb.age);  // 20
aa.sing("lala"); // 小明唱lala
bb.play(); // play

以上是关于JavaScriptES6中的类和对象的主要内容,如果未能解决你的问题,请参考以下文章

kotlin语言中的类和对象

scala中的类和对象

C# Asp.Net 中的类和对象

JAVA编程中的类和对象

python中的类和对象

python中的类和对象