面向过程编程
将问题分解成几步封装相应的函数 在整合到一起
面向对象
将事务分解为一个一个的对象
将大象装进冰箱
分解为两个对象` 大象:进去
冰箱:打开,关闭
适合多人合作的大型项目
特性
封装性 继承性 多态性
面向对象思维特点
抽象对象的公共属性和行为阻止封装成一个类的模板
对象具体的事物,属性与方法来组成
属性:实物的特征,属性
方法:实物的行为
创建类 class name{
构造函数
constructor(uname,age){
this.uname=uname;
this.age=age
}
方法创建不需要加逗号和function定义
sing(){
console.log('123')
}
}
创建对象 new name();
var xx=new name('刘德华',18)
var xx1=new name('张学友',81)
继承
定义父亲
class father{
constructor(){}
money(){
console.log('100')
}
}
儿子继承 可以继承父亲的函数
class son extends father{
constructor(){}
}
但要用到调用函数时 父亲的函数指向父亲的数据
儿子使用父亲的函数指向的也是父亲的数据
要用super 调用父亲的构造函数
class son extends father{
constructor(x,y){儿子接受数据
super(x,y)使用父亲的构造函数
则数据成为父类的
}
}
方法继承
继承中如果调用一个函数,先看儿子是否有,之后再看父亲
儿子中super.父亲方法可以调用父亲的同名函数
注意事项
类定义在对象定义之前
类中使用共有的参数必须要this指向
constructor定义函数时直接调用,可以this指向该类下的函数名进行直接调用
this.sing()加括号直接调用