前端ES6小结的一点小知识希望能帮助的了大家

(有点长大家要耐心看哦~~ )

一、面向对象

计算机的发明是为了解决人们现实生产、生活中遇到的问题;我们在现实生活中遇到问题的解决措施往往都是步骤化、过程化的,也就是说通常我们看待问题的时候会把问题分解为若干个小问题,按照一定步骤串联,并依次解决;在程序中这种解决问题的思路我们称之为面向过程的编程,即解决问题的时候从问题的过程下手,把问题步骤化、过程化;比如:我们需要请求一组数据,然后渲染到页面上。这里面我们可能需要事先封装两个方法方便使用,一个方法用于请求数据,一个方法用于渲染数据;这两个方法串联起来按照先后调用就能够完成我们的目标。
但这也仅仅是一个比较简单的任务,如果我们遇到的问题很大,想象一下我们现在要为飞机写一套飞控系统的程序,事实上,可能程序还没写,我们已经被飞机上眼花缭乱的功能按键震惊。这样的系统功能应该是非常复杂,如果我们把所有可见和不可见的功能都封装为函数,这些函数的数量将相当庞大,再把这些函数串联起来协同工作,绝对是剪不断理还乱的事情。
随着社会的发展进步,人们的生活需求越来越高,软件的发展也越来越复杂、庞大、精细化;面向过程思路在解决问题是已经是捉襟见肘;上世纪70年代,图灵奖获得者
Alan Curtis Kay(艾伦·凯)提出了面向对象的思想,可以说,他是面向对象思想的鼻祖。图灵奖由美国计算机协会(ACM)于1966年设立,专门奖励那些对计算机事业作出重要贡献的个人。一般每年只奖励一名计算机科学家,只有极少数年度有两名合作者或在同一方向作出贡献的科学家共享此奖。因此它是计算机界最负盛名、最崇高的一个奖项,有“计算机界的诺贝尔奖”之称。
面向对象编程在解决问题的时候更注重的是关系,面向对象编程中有这样几个概念:类、对象、属性、方法。我们以现实社会来做比喻,人类就是一个类的概念,我们为什么称之为人类?因为人类的属性和方法有别于其他物种,人类的属性我们可以认为是一些静态特征,比如:胳膊、手,腿、脚等等;人类的方法我们可以认为是一些动态特征,比如:直立行走,制造工具,弹跳等。再比如猫类,猫类具备的属性和方法与人类就不一样了;那么猫类和人类之间怎么会有关联?事实上我们有养猫的习惯,某个猫可能属于某个人,我们可以说这只猫是这个人的宠物,是一种归属关系。也就是说这个人有一个特殊的属性就是宠物,他的宠物里面有一只猫。所以,面向对象描述问题的思路就是这样的。
这样来看,类似乎是一种封装,它内部封装了属性(变量)和方法(函数),这是一种比函数封装更加高级的做法,面向对象的三大典型特征之一就是封装。
我们在进行面向对象编程的时候应该首先定义一个类,类里面描述这个类应该具备的属性和方法(想象一下我们刚才的人类和猫类),类描述完毕之后就是对类的使用了,类这个概念是抽象的,现实生活中的每个人都是类的一个实例化表现,所以我们经常听到一个概念叫做——实例化一个对象;(类)抽象到(对象)实例的过程就称作实例化。所以,每个人类对象都应该具备人类这个类所描述的属性和方法。这些属性和方法,我们称之为成员属性和成员方法,后面我们还会说到静态属性和静态方法以及继承的概念。接下来我们还是先看一下ES6中是怎么定义类、属性、方法和对象吧!

二、Class书写代码的注意事项:

1、在类内部访问变量:

    全局变量:直接访问
    局部变量:直接访问
    成员变量:需要this访问
    静态变量:需要this访问

2、在类内部访问成员的和静态的方法或变量都需要加 this
3、静态变量不能声明到constructor方法里面
4、class类内部出现的this,常常有两种含义:1、当前调用对象;2、当前类;根据它是类还是对象决定这是静态的还是成员的。
5、类内部的this只能出现在方法里面,方法外面写this会引起语法错误

三、Construtor的注意项

1、 constructor是一个构造方法,在new实例化对象的时候会自动调用;这个方法不要手动调用
2、 constructor方法的作用是用来初始化成员(成员属性和成员方法);里面不能写静态属性;也就是说constructor只对new实例化的对象生效。
3、子类继承父类后,子类如果显式的实现了constructor方法,那么子类的constructor方法内第一行代码一定是super()方法调用;否则报错;如果没有继承,则不要调用super方法,否则报错。构造次序是:父类->子类

四、Extends继承

在ES6中使用extends来实现继承,而且是单继承(不能继承多个类)
什么是覆盖写,在父类功能无法满足子类需求的时候,我们可以在子类中实现同名的父类方法;这叫覆盖。
一旦子类覆盖父类方法,子类对象在调用的时候,父类的方法将无法被调用;可以在子类方法中使用super对象来调用。

五、Super的用法

1、super方法:super方法仅能出现在子类继承父类时的constructor方法内,且应该写在第一行的位置。作用是初始化父类的属性。如果当前类没有继承,则不要使用super方法,否则报错。
2、super对象:super对象用在子类覆盖的父类同名方法内;用来调用父类被覆盖的同名方法,比如:super.父类方法()
3、super对象或super方法不要出现在class类外,也不要出现在class内部的方法外;都会报错。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值