JavaScript学习笔记----面向对象编程

简介: JavaScript学习笔记----面向对象编程

两大编程思想

面向过程

面向对象

编程思想概念

1.面向过程

分析解决问题所需的步骤,然后用函数把这些步骤一步一步实现,使用的时候在一个一个依次调用

面向过程就是按照我们分析的步骤,按照步骤解决问题

2.面向对象

面向对象就是把事物分解为一个一个对象,然后对象之间分工与合作

先找出对象,并写出这些对象的功能

面向对象是以对象功能来划分问题,而不是步骤

面向对象更贴近我们的实际生活,可以使用面向对象描述现实世界事物

面向对象编程的特性

封装性

继承性

多态性

面向对象与面向过程对比

面向对象的思维特点

1.抽取(抽象)对象共用属性和行为组织(封装)成一个类(模板)

2.对类进行实例化,获取类的对象

对象

对象就是一个具体的事物

对象是由属性和方法组成的

属性:事物的特征,在对象中用属性来表示

方法:事物的行为,在对象中用方法来表示

使用class关键字声明一个类,然后用类来实例化对象

类抽象了对象的公共部分,泛指某一大类

对象特指某一个,通过类实例化一个具体的对象

创建类

语法:

class 类名 {
  //class body
}

创建实例:

var 对象名 = new 类名();

类必须使用new实例化对象

类的构造函数 constructor

constructor()方法是类的构造函数(默认方法),用于传递参数,返回实例对象,通过new命令生成实例对象时自动调用该方法

如果没有显示定义,类内部会自动创建一个constructor()

//创建一个明星类
class Star {
    //显示定义一个构造函数
    constructor( s_name ) {
        this.s_name = s_name;
    }
}
//利用明星类实例化一个明星对象
var ldh = new Star("刘德华");
console.log( ldh.s_name );

类名习惯首字母大写

类的构造函数,可以接受传递过来的参数,返回给实例化的对象

类添加方法

class Person {
    constructor(name, age) {
        this.name = name;
        this.age = age;
    }
    //类方法
    //类里面的方法不需要写function
    say() {
        console.log( this.name + " " + "你好" );
    }
}
var p = new Person( "tom", 12 );
p.say();

类的继承

子类可以继承父类的一些属性和方法

语法:

class 父类名 {
}
class 子类名 extends 父类名 {
}

super关键字

super关键字用于访问和调用父类的函数,可以调用父类的构造函数和普通函数

class Father {
    constructor(f_name) {
        this.f_name = f_name;
    }
    say() {
        console.log(this.f_name);
    }
}
class Son extends Father{
    constructor(s_name) {
        super(s_name);
    }
    say() {
        super.say();
    }
}

实例化子类调用方法,会先看子类是否有这个方法,没有会调用父类的方法

原则为就近原则

如果父类也没有会报错


相关文章
|
2天前
|
存储 前端开发 JavaScript
揭秘原型链:探索 JavaScript 面向对象编程的核心(下)
揭秘原型链:探索 JavaScript 面向对象编程的核心(下)
揭秘原型链:探索 JavaScript 面向对象编程的核心(下)
|
1天前
|
前端开发 JavaScript 开发者
揭秘原型链:探索 JavaScript 面向对象编程的核心(上)
揭秘原型链:探索 JavaScript 面向对象编程的核心(上)
揭秘原型链:探索 JavaScript 面向对象编程的核心(上)
|
1天前
|
存储 JavaScript 前端开发
构造函数和原型的结合应用:轻松搞定JS的面向对象编程(三)
构造函数和原型的结合应用:轻松搞定JS的面向对象编程
|
2天前
|
设计模式 JavaScript 前端开发
构造函数和原型的结合应用:轻松搞定JS的面向对象编程(一)
构造函数和原型的结合应用:轻松搞定JS的面向对象编程
|
2天前
|
存储 JavaScript 前端开发
构造函数和原型的结合应用:轻松搞定JS的面向对象编程(二)
构造函数和原型的结合应用:轻松搞定JS的面向对象编程
|
1天前
|
JavaScript 前端开发
【JavaScript技术专栏】JavaScript中的面向对象编程
【4月更文挑战第30天】本文介绍了JavaScript中的面向对象编程,包括对象的基本概念、创建对象的方法(字面量、构造函数、Object.create()和ES6的class)及继承机制(原型链和ES6的class继承)。面向对象编程通过抽象为对象,实现了代码复用和模块化,提高了程序的可读性和可维护性。
|
1天前
|
移动开发 JavaScript 前端开发
webgl学习笔记3_javascript的HTML DOM
webgl学习笔记3_javascript的HTML DOM
19 0
webgl学习笔记3_javascript的HTML DOM
|
1天前
|
JavaScript 前端开发 Java
webgl学习笔记2_javascript基础快速学习
webgl学习笔记2_javascript基础快速学习
19 0
|
1天前
|
前端开发 JavaScript API
JavaScript学习笔记(一)promise与async
JavaScript学习笔记(一)promise与async
|
2天前
|
前端开发 JavaScript
前端深入理解JavaScript面向对象编程与Class
随着JavaScript的发展,ECMAScript 6(ES6)引入了许多新的语言特性和语法糖,其中包括了面向对象编程的Class(类)机制。Class提供了一种更简洁、更直观的方式来定义对象和操作对象的行为。本文将介绍ES6中Class的概念、语法和特性,并通过示例代码来说明其实际应用。