面向对象
优点:易维护、易复用、易扩展。适合多人合作。
缺点:性能比面向过程低。
面向过程
优点:性能比面向对象高,适合跟硬件联系很紧密的东西,例如单片机。
缺点:没有面向对象易维护、易复用、易扩展。
面向对象的思维特点
1、抽取(抽象)对象共用的属性和行为封装成一个类。
2、对类进行实例化,获取类的对象。
对象
万物皆对象,对象是一个具体的事物。
在JavaScript中,对象是一组无序的相关属性和方法的集合,所有的事物都是对象。例如:字符串、数值、数组、函数等。
对象由属性和方法组成:
属性:事物的特征,在对象中用属性来表示(常用名词)
方法:事物的行为,在对象中用方法来表示(常用动词)
类class
类抽象了对象的公共部分 ,泛指某一大类(class)
对象特指某一个,通过类实例化一个具体的对象。
创建类
语法:
class Name { // class body }
创建实例:
var xx = new name();
例子
// 1、创建类class,创建一个明星类 class Star { } // 2、利用类创建对象 new new Star();
constructor构造函数
constructor()方法是类的构造函数(默认方法),用于传递参数,返回实例对象,通过new命令生成对象实例时,自动调用该方法。如果没有显示定义,类内部会自动给我们创建一个constructor()
// 1、创建类class,创建一个明星类 class Star { constructor( uname,uage ){
this.name = uname;
this.age = uage;
}
sing(){
console.log("我会唱歌!")
console.log(this.name )
}
} // 2、利用类创建对象 new let ldh = new Star( '刘德华' );
let zxy = new Star( '张学友' );
console.log(ldh,zxy);
// 类里面所有的函数不需要写function
// 多个函数方法之间不需要添加逗号分隔
ldh.sing();
zxy.sing();
5个小tips:
1、通过class关键字创建类,类名我们还是习惯性定义首字母大写。
2、类里面有个constructor函数,可以接收传递过来的参数,同时返回实例对象。
3、constructor函数只要有new生成实例时,就会自动调用这个函数,如果我们不写这个函数,类也会自动生成这个函数。
4、生成实例new不能忽略
5、最后注意语法规范,创建类 类名后面不要加小括号,生成实例类名后面加小括号,构造函数不需要加function
标签:对象,JavaScript,js,面向对象,实例,constructor,new,class From: https://www.cnblogs.com/spikekk/p/16708681.html