JavaScript 클래스의...LOGIN

JavaScript 클래스의 정의 및 인스턴스화

클래스 정의

엄밀히 말하면 JavaScript는 객체지향 프로그래밍 언어가 아닌 객체 기반 프로그래밍 언어입니다.

객체 지향 프로그래밍 언어(Java, C++, C#, PHP 등)에서는 class 키워드를 사용하여 클래스를 선언합니다.

예: public class Person{}

그러나 JavaScript에는 클래스를 선언하는 키워드가 없고 클래스의 액세스 권한을 제어할 방법이 없습니다.

JavaScript는 함수를 사용하여 클래스를 정의합니다.

구문:
function className(){
// 특정 작업
}


예를 들어 Person 클래스를 정의합니다.

function Person() {
    this.name=" 张三 ";  // 定义一个属性 name
    this.sex=" 男 ";  // 定义一个属性 sex
    this.say=function(){  // 定义一个方法 say()
        document.write("嗨!大家好,我的名字是 " + this.name + " ,性别是 " + this.sex + "。");
    }
}

설명: 이 키워드는 현재 개체를 나타냅니다.

객체 생성(클래스 인스턴스화)

객체 생성 과정은 클래스 인스턴스화 과정이기도 합니다.

JavaScript에서 객체 생성(예: 클래스 인스턴스화)에는 new 키워드가 사용됩니다.

구문:
new className();

위의 Person 클래스를 인스턴스화합니다.

var zhangsan=new Person();
zhangsan.say();

코드를 실행하고 다음 내용을 출력합니다.
안녕하세요! 안녕하세요 여러분. 제 이름은 Zhang San이고 성별은 남성입니다.

클래스를 정의할 때 매개변수를 설정할 수 있고, 객체 생성 시 해당 매개변수를 전달할 수도 있습니다.

다음으로 Person 클래스를 재정의합니다.

function Person(name,sex) {
    this.name=name;  // 定义一个属性 name
    this.sex=sex;  // 定义一个属性 sex
    this.say=function(){  // 定义一个方法 say()
        document.write("嗨!大家好,我的名字是 " + this.name + " ,性别是 " + this.sex);
    }
}
var zhangsan=new Person("小丽","女");
zhangsan.say();

코드를 실행하면 다음 출력이 출력됩니다.
안녕하세요! 안녕하세요 여러분. 제 이름은 Xiaoli이고 성별은 여성입니다.

다음 섹션
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>无标题文档</title> <script>function Person(name,sex) { this.name=name; // 定义一个属性 name this.sex=sex; // 定义一个属性 sex this.say=function(){ // 定义一个方法 say() document.write("嗨!大家好,我的名字是 " + this.name + " ,性别是 " + this.sex); } } var zhangsan=new Person("小丽","女"); zhangsan.say();</script> </head> <body> </body> </html>
코스웨어