在js中,对象是一组 无序相关属性和方法的集合,所有的事物都是对象
对象是有属性和方法组成的:
属性:事物的特征,在对象中用属性来表示(常用名词)
方法:事物的行为,在对象中用方法来表示(常用动词)
类class
类是抽象了对象的公共部分,它反之某一大类(class)
对象是特指某一个,通过 类实例化一个具体的对象
面向对象的思维特点
1.抽取(抽象)对象公用的属性和行为组织(封装)成一个类(模板)
2.对象进行实例化,获取类的对象
创建类:
语法:
class name {
// class body
}
创建实例:
var xx = new name();
注意:类必须使用new实例化对象
类constructor 构造函数
类增加方法:
class Person {
constructor(name,age){
this.name = name;
this.age = age;
}
say(){
console.log(this.name + '您好')
}
}
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
</head>
<body>
<script>
// 1.创建类class ,创建一个明星类
class Star {
constructor(uname, age) {
this.uname = uname;
this.age = age;
}
sing(song) {
console.log('我唱歌')
console.log(this.uname + song)
}
}
// 2.利用类创建对象new
var ldh = new Star("刘德华", 18);
var cl = new Star("成龙", 20);
console.log(ldh);
console.log(cl);
//(1) 通过class关键字创建类,类名我们还是习惯性定义首字母大写
//(2)类里面有个constructor函数,可以接受传递过来的参数,同时返回实例对象
//(3) constructor 函数只要new生成实例时,就会自动调用这个函数,如果我们不写这个函数,类也会自动生成这个函数
//(4) 生成实例new不能省略
//(5)最后注意语法规范,创建类类名后面不要加小括号,生成实例类名后面加小括号,构造函数不需要加function
//(6) 我们类里面所有的函数不需要写function
//(7) 多个函数方法 之间不需要 添加逗号分隔
ldh.sing('冷冷的冰雨。。。')
</script>
</body>
</html>