JavaScript进阶十一(JS面向对象编程及类的定义)


一、JavaScript的面向对象编程

1、面向过程:核心是解决问题的过程
2、面向对象:核心是对象。关注每个对象在解决问题中的行为。特征为:

(1)封装性:对象是属性(静态特征)和行为(动态特征)的结合体(封装体)。

(2)继承性:父类(基类)的属性和行为可以派生到子类中。子类不需要重复定义。

(3)多态性:同一个消息传递给不同的对象,得到的结果不同。

二、ES5面向对象语法

1、类的基本语法
通过构造函数来实现,构造函数创建对象我们以前学习过,这里不再赘述。

三、ES6面向对象语法

1、类和对象

:事物分为具体的事物和抽象的事物,当我们脑中出现“书”这个词的时候,可以大致现象到书的基本样貌特征,这个过程就是抽象,抽象出来的结果就是类。即具有相同属性和行为的对象的抽象。

对象:当我们拿起一本真实的书时,这本书有自己的书名、作者等信息,像这样具体的事物就是对象。即是类的实例(类的具体体现)。

2、类的基本语法

class关键字:用来定义一个类,在类中可以定义constructor()构造方法,用来初始化对象的成员。 基本格式:
class 类名{
   
	constructor([参数]){
    //构造方法:用来初始化对象的成员
		方法体;
	}
}
//创建对象
var 对象名 = new 类名([参数]);
//对象成员(包括属性和方法)的访问
对象名.属性名;
对象名.方法名([参数]);

注意:在ES6中constru构造方法不能显式调用。

举例如下:

//ES6里的定义
class Person{
    //使用class关键字定义类
    constructor(name,age){
    //构造方法:用来初始化对象的成员
        this.name = name;
        this.age = age;
    }
    study(){
   
        console.log(this.name+"在学习"); //成员方法(对象的行为)
    }
    sleep(){
   
        console.log(this.name+"在睡觉");
    }
}
var p1 = new Person('heihei',12);
var p2 = new Person('haha',11);
console.log(p1.name);
console.log(p2.age)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值