찾다
웹 프론트엔드JS 튜토리얼js object_js 객체지향의 구성 및 상속 구현 코드

코드 복사 코드는 다음과 같습니다.

<script> js 사용자 객체 정의 <BR>function User(name,age){ <BR>this.name=name, <BR>this.age=age, <BR>this.getName=function(){ <BR>return this .name; <BR>}, <BR>this.getAge=function(){ <BR>return this.age; <BR>} <BR>} <BR>//객체 인스턴스화<BR>var use=new User( "aa",21); <BR>alert(use.name); <BR>alert(use.getAge()) <BR>//js 객체 상속<BR>/* <BR>jb51.net 지향 객체 상속은 객체 프로그래밍 방법에 필수적입니다. 그렇다면 자바스크립트에서 상속 메커니즘을 어떻게 구현합니까? JavaScript는 엄격한 객체 지향 언어가 아니기 때문에 객체 상속도 다릅니다. 또한 다각형을 나타내는 기본 클래스 Polygon을 만들어 보겠습니다. 다각형에는 측면(면) 수인 공통 속성과 면적을 계산하는 공통 메서드(getAreas)가 있습니다. 이러한 방식으로 Polygon 클래스는 다음 정의와 같습니다. <BR>*/ <BR>function Polygon(iSides){ <BR>this.sides = iSides; <BR>} <BR>Polygon.prototype.getAreas = function (){ <BR>return 0; <BR>} <BR>/* <BR>기본 클래스에서는 영역을 결정할 수 없으므로 여기서는 0을 반환합니다. <BR>그런 다음 하위 클래스인 Triangle을 만듭니다. 분명히 이 삼각형은 다각형에서 상속되므로 이 Triangle 클래스가 Polygon 클래스를 상속하고 삼각형의 면적을 반환하기 위해 Polygon 클래스의 getAreas 메서드를 재정의해야 합니다. . 자바스크립트의 구현을 살펴보겠습니다. <BR>*/ <BR>function Triangle(iBase, iHeight){ <BR>Polygon.call(this,3); //여기서는 Polygon.call()을 사용합니다. 생성자에 3을 매개변수로 전달하면 변이 결정되므로 하위 클래스의 생성자에서 변을 지정할 필요가 없습니다. <BR>this.base = iBase; <BR>this.height = iHeight; //삼각형의 높이<BR>} <BR>Triangle.prototype = new Polygon() <BR>Triangle.prototype.getAreas = function(){ <BR>return 0.5 * this.base *this.height; //기본 클래스의 getAreas 메소드를 재정의하고 삼각형의 면적을 반환합니다. <BR>} <BR><br>/* <br>위 구현을 참고하세요. 다른 직사각형 정의: <BR>*/ <BR>function Rectangle(iWidth, iHeight){ <BR>Polygon.call(this,4); <BR>this.width = iWidth; <BR>this.height = iHeight; <BR>} <BR>Rectangle.prototype = new Polygon(); <BR>Rectangle.prototype.getAreas = function(){ <BR>return this.width * this.height; <BR>좋습니다. 위에서 기본 클래스와 두 개의 하위 클래스를 정의했습니다. 이 두 하위 클래스가 제대로 작동하는지 테스트해 보겠습니다. <BR>*/ <BR>var t = new Triangle(3,6) <BR>var r = new Rectangle(4,5); <BR>alert(t.getAreas()); //출력 9는 정확함을 의미합니다<BR>alert(r.getAreas()) //출력 20은 정확함을 의미합니다<BR>< /스크립트> <BR><BR><BR></script>
성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
解决PHP报错:继承父类时遇到的问题解决PHP报错:继承父类时遇到的问题Aug 17, 2023 pm 01:33 PM

解决PHP报错:继承父类时遇到的问题在PHP中,继承是一种重要的面向对象编程的特性。通过继承,我们能够重用已有的代码,并且能够在不修改原有代码的情况下,对其进行扩展和改进。尽管继承在开发中应用广泛,但有时候在继承父类时可能会遇到一些报错问题,本文将围绕解决继承父类时遇到的常见问题进行讨论,并提供相应的代码示例。问题一:未找到父类在继承父类的过程中,如果系统无

如何在PHP中使用多态和继承来处理数据类型如何在PHP中使用多态和继承来处理数据类型Jul 15, 2023 pm 07:41 PM

如何在PHP中使用多态和继承来处理数据类型引言:在PHP中,多态和继承是两个重要的面向对象编程(OOP)概念。通过使用多态和继承,我们可以更加灵活地处理不同的数据类型。本文将介绍如何在PHP中使用多态和继承来处理数据类型,并通过代码示例展示它们的实际应用。一、继承的基本概念继承是面向对象编程中的一种重要概念,它允许我们创建一个类,该类可以继承父类的属性和方法

使用继承的Java程序来计算定期存款(FDs)和定期存款(RDs)的利息使用继承的Java程序来计算定期存款(FDs)和定期存款(RDs)的利息Aug 20, 2023 pm 10:49 PM

继承是一个概念,它允许我们从一个类访问另一个类的属性和行为。被继承方法和成员变量的类被称为超类或父类,而继承这些方法和成员变量的类被称为子类或子类。在Java中,我们使用“extends”关键字来继承一个类。在本文中,我们将讨论使用继承来计算定期存款和定期存款的利息的Java程序。首先,在您的本地机器IDE中创建这四个Java文件-Acnt.java−这个文件将包含一个抽象类‘Acnt’,用于存储账户详情,如利率和金额。它还将具有一个带有参数‘amnt’的抽象方法‘calcIntrst’,用于计

PHP中的封装技术及应用PHP中的封装技术及应用Oct 12, 2023 pm 01:43 PM

PHP中的封装技术及应用封装是面向对象编程中的一个重要概念,它指的是将数据和对数据的操作封装在一起,以便提供对外部程序的统一访问接口。在PHP中,封装可以通过访问控制修饰符和类的定义来实现。本文将介绍PHP中的封装技术及其应用场景,并提供一些具体的代码示例。一、封装的访问控制修饰符在PHP中,封装主要通过访问控制修饰符来实现。PHP提供了三个访问控制修饰符,

PHP中的多重继承PHP中的多重继承Aug 23, 2023 pm 05:53 PM

继承:继承是面向对象编程(OOP)中的一个基本概念,它允许类从其他类继承属性和行为。它是一种基于现有类创建新类的机制,促进代码重用并建立类之间的层次关系。继承基于"父子"或"超类-子类"关系的概念。从中继承的类被称为超类或基类,而继承超类的类被称为子类或派生类。子类继承其超类的所有属性(变量)和方法(函数),还可以添加自己独特的属性和方法或覆盖继承的属性和方法继承的类型在面向对象编程(OOP)中,继承是一个基本概念,它允许类从其他类中继承属性和行为。它促进

如何使用Java强制继承代理final类?如何使用Java强制继承代理final类?Sep 06, 2023 pm 01:27 PM

如何使用Java强制继承代理final类?在Java中,final关键字用于修饰类、方法和变量,表示它们不可被继承、重写和修改。然而,在某些情况下,我们可能需要强制继承一个final类,以实现特定的需求。本文将讨论如何使用代理模式来实现这样的功能。代理模式是一种结构型设计模式,它允许我们创建一个中间对象(代理对象),该对象可以控制对另一个对象(被代理对象)的

继承、多态与接口:PHP面向对象的三大特性继承、多态与接口:PHP面向对象的三大特性May 11, 2023 pm 03:45 PM

PHP是一种服务器端编程语言,自PHP5之后开始支持面向对象编程(OOP)。OOP的核心思想是将数据和行为封装在对象中,以提高程序的可维护性和可扩展性。在PHP中,面向对象编程具有三大特性:继承、多态与接口。一、继承继承是指一个类可以从另一个类中继承属性和方法。被继承的类称为父类或基类,继承的类称为子类或派生类。子类可以通过继承获得父类中的属性和方法,并且可

如何在Go语言中实现封装和继承如何在Go语言中实现封装和继承Jul 23, 2023 pm 08:17 PM

如何在Go语言中实现封装和继承封装和继承是面向对象编程中的两个重要概念,它们可以使代码更加模块化和可维护,同时也为代码的复用提供了便利。本文将介绍在Go语言中如何实现封装和继承,并提供相应的代码示例。封装封装是将数据和功能进行封装,隐藏实现的细节,只暴露必要的接口给外部使用。在Go语言中,封装是通过导出和非导出标识符来实现的。首字母大写的标识符可以被其他包访

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기