您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 巴音郭楞蒙古分类信息网,免费分类信息发布

javascript的oop写法

2024/6/22 15:52:59发布89次查看
在web开发中,javascript已经成为一门非常流行的编程语言。在javascript中,面向对象编程(oop)是一个重要的概念。使用oop,可以将代码结构化并减少代码的重复性,从而更易于维护和扩展。本文将介绍javascript中oop的写法。
原型(prototype)和构造函数(constructor)在javascript中,一个对象的属性和方法可以通过原型来共享,而构造函数则用于创建一个新对象并初始化其属性。以下是一个使用构造函数和原型的简单例子:
function person(name, age) { this.name = name; this.age = age;}person.prototype.sayhi = function() { console.log("hi, my name is " + this.name + " and i'm " + this.age + " years old.");}var person1 = new person("john", 30);var person2 = new person("mary", 25);person1.sayhi(); // hi, my name is john and i'm 30 years old.person2.sayhi(); // hi, my name is mary and i'm 25 years old.
在上面的例子中,我们定义了一个person构造函数,初始化了name和age属性。然后,我们使用person.prototype给每个person对象添加了一个sayhi方法,这个方法可以被所有person对象共享。最后,我们创建了两个person对象,并调用了它们的sayhi方法。
类(class)在es6中,javascript引入了类的概念,并使用关键字class来实现。类提供了一种更简洁、更易于理解的语法,用于定义对象。
以下是一个使用类的例子:
class person { constructor(name, age) { this.name = name; this.age = age; } sayhi() { console.log("hi, my name is " + this.name + " and i'm " + this.age + " years old."); }}let person1 = new person("john", 30);let person2 = new person("mary", 25);person1.sayhi(); // hi, my name is john and i'm 30 years old.person2.sayhi(); // hi, my name is mary and i'm 25 years old.
在上面的例子中,我们使用class关键字定义了一个person类,并在constructor方法中初始化了name和age属性。然后,我们定义了一个sayhi方法,用于输出一个招呼。最后,我们创建了两个person对象,并调用了它们的sayhi方法。
继承(inheritance)在oop中,继承是指从一个已有的对象中派生出一个新的对象,新对象继承了原来的对象的属性和方法。在javascript中,继承可以通过使用prototype和class来实现。
以下是使用prototype实现继承的例子:
function person(name, age) { this.name = name; this.age = age;}person.prototype.sayhi = function () { console.log("hi, my name is " + this.name + " and i'm " + this.age + " years old.");}function student(name, age, major) { person.call(this, name, age); this.major = major;}student.prototype = object.create(person.prototype);student.prototype.constructor = student;student.prototype.saymajor = function() { console.log("my major is " + this.major + ".");}let person1 = new person("john", 30);let student1 = new student("mary", 25, "computer science");person1.sayhi(); // hi, my name is john and i'm 30 years old.student1.sayhi(); // hi, my name is mary and i'm 25 years old.student1.saymajor(); // my major is computer science.
在上面的例子中,我们定义了一个person构造函数,在原型中添加了sayhi方法。另外,我们定义了一个student构造函数,通过使用call方法调用了person构造函数来初始化name和age属性,并添加了一个major属性。然后,我们使用object.create方法创建了一个person.prototype的副本,并将其指定给student.prototype,以便student对象可以继承person对象的属性和方法。最后,我们定义了一个saymajor方法,用于输出学生的专业。最终,我们创建了一个person对象和一个student对象,并调用了他们的方法。
以下是使用class实现继承的例子:
class person { constructor(name, age) { this.name = name; this.age = age; } sayhi() { console.log("hi, my name is " + this.name + " and i'm " + this.age + " years old.") }}class student extends person { constructor(name, age, major) { super(name, age); this.major = major; } saymajor() { console.log("my major is " + this.major + "."); }}let person1 = new person("john", 30);let student1 = new student("mary", 25, "computer science");person1.sayhi(); // hi, my name is john and i'm 30 years old.student1.sayhi(); // hi, my name is mary and i'm 25 years old.student1.saymajor(); // my major is computer science.
在上面的例子中,我们定义了一个person类,在constructor方法中初始化了name和age属性,并在sayhi方法中输出了一个招呼。然后,我们使用extends关键字创建了一个student类,并使用super关键字调用了person类的constructor方法来初始化name和age属性,并添加了一个major属性。最后,我们定义了一个saymajor方法,用于输出学生的专业。最终,我们创建了一个person对象和一个student对象,并调用了他们的方法。
结论:
在javascript中,oop是一种非常重要的概念,使用对象、构造函数、原型和类可以更好地组织代码和减少重复性。继承可以通过原型和类来实现。从es6开始,javascript引入了关键字class,提供了一种更简洁、更易于理解的语法,用于定义对象。无论何时,选择正确的方法来编写oop代码都非常重要,因为这将在项目开发和维护中获得重大的好处。
以上就是javascript的oop写法的详细内容。
巴音郭楞蒙古分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录