js 面向对象学习笔记

yizhihongxing

关于JS面向对象的学习,我们可以分为以下步骤:

1. 了解什么是面向对象编程

面向对象编程(OOP)是一种编程范式或编程风格,其主要思想是通过类和实例来描述和组织代码,将数据和行为封装在对象内部,对外提供接口进行访问和操作。

2. 学习面向对象的基本术语

在 OOP 中,有以下基本概念需要了解:

  • 类(Class):定义对象的属性和方法的蓝图
  • 对象(Object):类的实例
  • 属性(Property):对象的特征,用于描述对象的状态
  • 方法(Method):对象的行为,用于描述对象的动态行为
  • 封装(Encapsulation):对数据和行为的封装,将其视为一个整体,隐藏内部的细节
  • 继承(Inheritance):一个类(子类)可以继承另一个类(父类)的属性和方法,避免重复定义
  • 多态(Polymorphism):不同类的对象,可以对同一方法作出不同的响应

3. 实践面向对象的基本操作

定义类

JS 中定义一个类可以使用 class 关键字,下面是一个 Animal 类的示例:

class Animal {
  constructor(name) {
    this.name = name;
  }

  sayName() {
    console.log(`My name is ${this.name}`);
  }
}

创建对象

通过 new 关键字可以创建一个对象,下面是创建一个 Animal 对象的示例:

let dog = new Animal("旺财");
dog.sayName(); // My name is 旺财

继承

可以使用 extends 关键字来实现继承,下面是一个 Dog 类继承自 Animal 类的示例:

class Dog extends Animal {
  constructor(name, breed) {
    super(name); //调用父类的构造函数
    this.breed = breed
  }

  bark() {
    console.log("woof");
  }
}

多态

多态指的是不同的对象可以对同一个方法作出不同的响应。下面是一个实现多态的例子:

function makeSound(animal) {
  animal.sayName();
  if (animal instanceof Dog) {
    animal.bark();
  } else if (animal instanceof Cat) {
    animal.meow();
  }
}

let dog = new Dog("旺财", "哈士奇");
let cat = new Cat("小白", "短毛猫");
makeSound(dog); // My name is 旺财 woof
makeSound(cat); // My name is 小白 meow

综上所述,以上是 JS 面向对象学习笔记的完整攻略,未来的学习中建议多利用实战来加深理解。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js 面向对象学习笔记 - Python技术站

(0)
上一篇 2023年5月18日
下一篇 2023年5月18日

相关文章

  • javascript smipleChart 简单图标类

    OK,下面是“javascript simpleChart 简单图表类”的详细攻略: 1. 简介 simpleChart 是基于原生的 JavaScript 开发的一个简单易用的图表库,用于在网页中绘制常见的统计图表,如折线图、柱形图、饼图等。它的优点是使用灵活、兼容性好、易于扩展,适合用于数据可视化方面的开发。 2. 如何使用 2.1 引入文件 使用 si…

    JavaScript 2023年6月10日
    00
  • JavaScript图片旋转效果实现方法详解

    JavaScript 图片旋转效果的实现方法详解 前言 随着 Web 技术的发展,越来越多的动态特效展现在用户面前。其中,图片旋转效果是一种非常流行的动态特效。在本文中,我们将使用 JavaScript 来实现图片旋转效果,并介绍两个基于不同旋转方式的示例。 实现方法 HTML 代码 首先我们需要准备一个 HTML 代码,用于展示图片,如下所示: <d…

    JavaScript 2023年6月10日
    00
  • JavaScript实现页面无缝滚动效果

    下面是我总结的“JavaScript实现页面无缝滚动效果”的完整攻略。 前置知识 在学习“JavaScript实现页面无缝滚动效果”之前,需要先了解一些基础知识,包括: HTML基础知识:HTML文档的结构、基本标签的使用等。 CSS基础知识:CSS样式基础语法、布局、盒模型等。 JavaScript基础知识:变量、函数、循环、条件语句等。 实现思路 在实现…

    JavaScript 2023年6月11日
    00
  • 关于JavaScript对象类型之Array及Object

    关于JavaScript对象类型之Array及Object 在JavaScript中,Array和Object都是非常重要的对象类型。本文将详细讲解这两种类型的相关知识。 Array 数组是一种可以存储多个值的自定义数据类型。在JavaScript中,数组可以包含任意类型的数据,包括字符串、数值、布尔值、对象、甚至是另一个数组。 创建数组 创建数组的方法有很…

    JavaScript 2023年5月27日
    00
  • Javascript Array prototype 属性

    以下是关于JavaScript Array prototype属性的完整攻略。 JavaScript Array prototype属性 JavaScript Array prototype属性是所有数组对象的原型对象。该属性包含了所有数组对象可以访问的方法和属性。我们可以通过修改Array.prototype来扩展数组对象的功能。 下面是一个使用Array…

    JavaScript 2023年5月11日
    00
  • js中自定义方法实现停留几秒sleep

    在JavaScript中,没有像其他编程语言一样提供类似于sleep的方法。但是,我们可以用setTimeout函数模拟停留几秒钟的效果。 具体实现方法如下: 使用Promise 使用Promise可以让代码看起来更加简洁和易于理解,示例如下: function sleep(time) { return new Promise(resolve => s…

    JavaScript 2023年5月27日
    00
  • js对象的比较

    JS对象的比较主要是指对象之间的比较。在JS中,两个对象即使生成了相同的属性和方法,也不是同一个对象。所以需要进行对象的比较时,需要使用特定的方法进行比较,以下是详细的攻略。 对象比较的方法 对象比较主要涉及两种方法: 1. 双等号(==)比较 双等号比较只会比较两个对象的值,不会比较它们是否引用同一块内存。 示例代码: const obj1 = { nam…

    JavaScript 2023年5月27日
    00
  • js浏览器本地存储store.js介绍及应用

    JS浏览器本地存储store.js介绍及应用 简介 浏览器本地存储是前端开发中常用的技术之一,通过它,我们可以将数据存储在用户本地而不是服务器上,从而实现更快的读写性能,以及离线使用。store.js就是一个用于简化本地存储操作的轻量级JavaScript库。 安装 store.js可以直接通过CDN引入,也可以使用npm进行安装。 通过CDN引入: &lt…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部