当前位置:首页 > JavaScript

js实现一个面向对象

2026-04-05 03:13:47JavaScript

面向对象编程基础

JavaScript 是一种多范式的编程语言,支持面向对象编程(OOP)。通过构造函数、原型链和 ES6 的类语法,可以实现面向对象的特性。

使用构造函数和原型链

构造函数用于创建对象实例,原型链用于共享方法和属性。

js实现一个面向对象

function Person(name, age) {
    this.name = name;
    this.age = age;
}

Person.prototype.greet = function() {
    console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
};

const person1 = new Person('Alice', 25);
person1.greet(); // 输出: Hello, my name is Alice and I am 25 years old.

使用 ES6 类语法

ES6 引入了 class 关键字,使面向对象编程更加直观。

class Person {
    constructor(name, age) {
        this.name = name;
        this.age = age;
    }

    greet() {
        console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
    }
}

const person2 = new Person('Bob', 30);
person2.greet(); // 输出: Hello, my name is Bob and I am 30 years old.

继承的实现

通过 extends 关键字实现继承,子类可以继承父类的属性和方法。

js实现一个面向对象

class Student extends Person {
    constructor(name, age, grade) {
        super(name, age);
        this.grade = grade;
    }

    study() {
        console.log(`${this.name} is studying in grade ${this.grade}.`);
    }
}

const student1 = new Student('Charlie', 18, 12);
student1.greet(); // 输出: Hello, my name is Charlie and I am 18 years old.
student1.study(); // 输出: Charlie is studying in grade 12.

封装和私有字段

使用 # 前缀定义私有字段,确保数据封装。

class BankAccount {
    #balance = 0;

    deposit(amount) {
        this.#balance += amount;
    }

    getBalance() {
        return this.#balance;
    }
}

const account = new BankAccount();
account.deposit(100);
console.log(account.getBalance()); // 输出: 100

多态的实现

通过方法重写实现多态,子类可以覆盖父类的方法。

class Animal {
    speak() {
        console.log('Animal makes a sound');
    }
}

class Dog extends Animal {
    speak() {
        console.log('Dog barks');
    }
}

const animal = new Animal();
const dog = new Dog();

animal.speak(); // 输出: Animal makes a sound
dog.speak();    // 输出: Dog barks

以上方法展示了 JavaScript 中实现面向对象编程的多种方式,包括构造函数、原型链、ES6 类语法、继承、封装和多态。

标签: 面向对象js
分享给朋友:

相关文章

js实现计算器

js实现计算器

实现基础计算器功能 使用JavaScript创建一个基础计算器需要处理数字输入、运算符逻辑和结果显示。以下是一个简单的实现示例: let currentInput = '0'; let previo…

js实现图片放大缩小

js实现图片放大缩小

实现图片放大缩小的基础方法 使用CSS的transform: scale()属性可以快速实现图片的放大缩小效果。通过JavaScript动态修改该属性值: const img = document.…

js实现视口

js实现视口

js实现视口检测的方法 使用JavaScript检测元素是否进入视口(viewport)可以通过Intersection Observer API或手动计算元素位置实现。以下是两种常见方法: Int…

js实现原理

js实现原理

JavaScript 实现原理 JavaScript 是一种解释型语言,其实现原理涉及多个核心组件和运行机制,包括引擎、运行时环境、事件循环等。 引擎与解释执行 现代 JavaScript 引擎(如…

js实现上传图片

js实现上传图片

使用HTML5的File API实现图片上传 HTML5的File API允许通过JavaScript访问用户选择的文件。需要创建一个文件输入元素,并监听其change事件。 <input t…

js 实现页面刷新

js 实现页面刷新

使用 location.reload() location.reload() 是原生 JavaScript 提供的页面刷新方法。调用该方法会重新加载当前页面,相当于点击浏览器的刷新按钮。 // 基本…