后台-插件-广告管理-内容页广告位一(手机)

您现在的位置是:首页 > 其他 > 音视频开发音视频开发

JavaScript面向对象

2021-06-07 21:00:14音视频开发人已围观

简介目录面向对象面向对象概述面向对象的优势面向对象的三大特征类class关键字构造函数普通成员函数继承继承super关键字静态成员和实例成员静态属性静态方法面向对象面向对象概述面向过程:面向过程就是分析出解决问题需要的步骤,然后用函数将这些步骤一个个实现,使用的时候依次调用,面向过程的核心是过程。面向对象:面向对象就是把需要解决的问题分解成一个个对象,建立对象不是为了实现一个步骤,而是为了描述每个对象在解决问题中的行为,面向对象的核心是对象。面向对象的优势模块化更深,封装性强更容易实现复杂的业务

目录

  • 面向对象
    • 面向对象概述
    • 面向对象的优势
    • 面向对象的三大特征
    • 面向过程和面向对象
      • 思想
      • 对比
  • 类(ES6)
    • class关键字
    • 构造函数
    • 普通成员函数
    • ES5中的构造函数(类)
  • 继承
    • 继承
    • super关键字
  • 静态成员和实例成员
    • 静态属性
    • 静态方法

面向对象

面向对象概述

面向过程:面向过程就是分析出解决问题需要的步骤,然后用函数将这些步骤一个个实现,使用的时候依次调用,面向过程的核心是过程。
面向对象:面向对象就是把需要解决的问题分解成一个个对象,建立对象不是为了实现一个步骤,而是为了描述每个对象在解决问题中的行为,面向对象的核心是对象。

面向对象的优势

  • 模块化更深,封装性强
  • 更容易实现复杂的业务逻辑
  • 更易维护、易复用、易扩展

面向对象的三大特征

  • 封装性:对象是属性和行为的结合体
  • 多态性:同一消息被不同的对象接收后,会产生不同的效果
  • 继承性:子类可以继承父类的信息

面向过程和面向对象

思想

面向过程编程(POP):
分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候再一个一个的依次调用。
面向过程,就是按照分析好了的步骤,按照步骤解决问题。

面向对象编程(OOP):
面向对象是把事务分解成为一个个对象,然后由对象之间分工与合作。
面向对象是以对象功能来划分问题,而不是步骤。

对比

面向过程:
优点:性能比面向对象高,适合跟硬件联系很紧密的东西,例如单片机就采用的面向过程编程。
缺点:没有面向对象易维护、易复用、易扩展。

面向对象:
优点:易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护。
缺点:性能比面向过程低。

类(ES6)

类:具有相同属性和行为的对象的集合(类是对象的抽象)。
对象:是类的实例(是类的具体化)。

class关键字

class关键字:用来定义一个类,在类中可以定义constructor( )构造方法,用来初始化对象的成员。

在 ES6 中新增加了类的概念,可以使用 class 关键字声明一个类,之后以这个类来实例化对象。

 class 类名
 {
	 属性
	 函数
}
  • 类名是一个用户标识符,建议首字母大写
  • 类必须使用 new 实例化对象

ES6:ES是ECMAScript的简写,它是JavaScript的语法规范。ES6是在ES5基础上扩展,增加了如面向对象编程的相关技术

构造函数

构造函数:在ES6中使用 constructor( ) 来定义构造函数,作用是初始化对象的属性(成员变量)。
在ES6中使用constructor( ) 方法,是类的构造函数(默认方法),作用是初始化对象的属性用于接受传递的参数,同时返回实例对象,通过 new 命令生成对象实例时,自动调用该方法。

class 类名
{
	constructor(参数)
	{
		语句
	}
}
  • 构造函数不是必须的
  • 若用户没有定义构造函数,系统会生成一个默认的、无参的构造函数

构造函数和类的区别:
类中的成员方法是定义在类中的,使用类创建对象后,这些对象的方法都是引用了同一个方法,这样可以节省内存空间

普通成员函数

函数名(参数)
{
	函数体语句
}
变量名 = function(参数)
{
	函数体语句
}
  • constructor里面的this指向实例对象,方法里面的this指向这个方法的调用者
  • 类里面的共有属性和方法一定要加this使用

ES5中的构造函数(类)

function  构造函数名(参数)
{
	函数体语句
}
  • 构造函数名就是类名,即构造函数名与类名相同,构造函数只能通过new运算符调用
  • 构造函数方法存在浪费内存的问题

继承

继承

在JavaScript中,继承用来表示两个类之间的关系,子类可以继承父类的一些属性和方法,在继承以后还可以增加自己独有的属性和方法。

class 子类名 extends 父类名
{
	 函数体语句
}
  • 父类必须已经定义,父类又称为基类或超类
  • 子类又称为派生类,可以继承父类的属性和函数

super关键字

super关键字:代表当前类的父类,用于访问和调用对象在父类上的方法,可以调用父类的构造方法,也可以调用父类的普通方法。

  • 调用父类的构造函数:在子类的构造函数中使用super调用父类的构造函数,则调用语句必须作为子类构造函数的第一条语句,super(参数)
  • 子类不能继承父类的构造函数
  • 调用普通函数:super.函数名(参数)
  • 方法覆盖:若子类中定义的函数与父类中的函数同名时,子类的函数就覆盖了父类中函数

静态成员和实例成员

实例成员:通过实例对象访问的成员称为实例成员。
静态成员:是通过类名或构造函数访问的成员。

区别:

  • 实例成员属于具体的对象,而静态成员为所有对象共享
  • 实例成员是通过对象名访问,静态成员是通过类名访问

静态属性

ES6中静态属性的定义:

  1. 先创建类
  2. 在类的外部定义静态属性
类名.静态属性名 = 属性

ES7中静态属性的定义:

  1. 在类定义时,使用static关键字定义静态属性
static 静态属性名 = 属性

静态方法

静态的方法(函数):只能通过类名访问,不能通过对象名访问。

static 函数名(参数)
{
	函数体语句
}

类名.方法名()

文章来源:https://blog.csdn.net/m0_52942098/article/details/117534195

Tags:JavaScript 

很赞哦! ()

后台-插件-广告管理-内容页广告位二(手机)
后台-插件-广告管理-内容页广告位三(手机)

随机图文

后台-插件-广告管理-内容页广告位四(手机)

文章评论

留言与评论(共有 0 条评论)
   
验证码:

本栏推荐

站点信息

  • 文章统计60243篇文章
  • 浏览统计4607次浏览
  • 评论统计1个评论
  • 标签管理标签云
  • 统计数据:统计代码
  • 微信公众号:扫描二维码,关注我们