> 웹 프론트엔드 > JS 튜토리얼 > Node.js 객체지향 프로그래밍

Node.js 객체지향 프로그래밍

hzc
풀어 주다: 2020-06-04 13:06:31
앞으로
2240명이 탐색했습니다.

1. 객체 지향 프로그래밍

1. 프로세스 지향과 객체 지향

1) 프로세스 지향: 문제 해결 방법의 프로세스 단계에 집중합니다. 프로그래밍 특성은 클래스와 객체의 개념 없이 프로세스의 각 단계를 구현하는 개별 단계로 구성됩니다.

2) 객체 지향: 어떤 객체가 문제를 해결하는지에 집중하세요. 프로그래밍의 특징은 클래스가 나타나고, 클래스에서 객체를 얻고, 이 객체가 특정 문제를 해결하는 것입니다.

호출자의 경우 프로세스 지향에서는 호출자가 다양한 기능을 직접 구현해야 합니다. 객체 지향에서는 호출자가 객체에 있는 특정 메소드의 기능을 이해하기만 하면 되며 메소드의 구현 세부 사항을 이해할 필요는 없습니다.

2. 객체지향의 세 가지 주요 특징

객체지향의 세 가지 주요 특징은 상속, 캡슐화 및 다형성입니다. JS는 상속과 캡슐화를 시뮬레이션할 수 있지만 다형성을 시뮬레이션할 수는 없습니다. 따라서 JS는 전통적인 의미의 객체 지향 언어가 아니라 객체 기반 언어입니다.

3. 클래스와 객체의 관계

1) 클래스는 추상이고 객체는 구체적입니다(클래스는 객체의 추상화, 객체는 클래스의 구체화)

2) 클래스는 An입니다. 추상 개념은 클래스에 속성과 메서드가 있다고 말할 수 있을 뿐 구체적인 속성을 속성에 할당할 수는 없습니다. 예를 들어, 인간에게는 이름이 있지만 그 이름이 무엇인지 말할 수는 없습니다.

2. Javascript 객체 생성 방법

1.var obj = {}//간단한 객체 plainObject 객체 리터럴/객체 직접 수량

2 생성자(특징: 큰 낙타 표기 규칙)

1) 시스템 자체 생성자

var obj = new Object();//var object = {}

2) 사용자 정의 함수 캡슐화

// 함수에 매개변수를 추가해야만 매개변수를 사용할 수 있습니다. 기능 사용자 정의 , 객체를 생성할 때 새 객체를 얻어야 합니다

function Car(color){
        this.color=color;
        this.name = "BMW";
        this.height = "1400";
        this.lang = "4900";
        this.weight = 1000;
        this.health = 100;
        this.run = function(){
            this.health -- ;
        }
    }
로그인 후 복사

var car = new Car("red");

3. 3단계로 개체 생성자

1) 함수 본문 상단에 암시적으로 개체를 추가합니다. var this = {}

2) 함수 본문의 내용을 실행합니다

3) 이 개체를 암시적으로 반환합니다

3. 패키징 클래스

1. 원래 값은 속성과 메소드(undefine, null, number, boolean, string)를 가질 수 없습니다.

2. 일부 원래 값은 통과한 후 호출할 수 있습니다. 패키징 클래스

var num=123;// 객체가 아님

var num1=new Number(123);// 객체입니다

3 암시적 패키징 클래스의 과정은 다음과 같습니다

  var num = 4;
  num.len = 3;//隐式发生转换,新建一个数字对象,然后添加属性并赋值,最后删除这个对象,所以在执行过程中没有报错
  console.log(num.len);//再新建一个数字对象,添加属性,所以最后输出为undefined
        
  var str="abcd";
  str.length=2;
  console.log(str.length);
  //输出为4,在输出时原始值str包装类之后输出的为new String('abcd').length,字符串自带length属性,所以输出长度为4
로그인 후 복사

추천 튜토리얼 : "JS 튜토리얼"

위 내용은 Node.js 객체지향 프로그래밍의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:csdn.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿