TypeScript 샘플 9 시도

입문


TypeScript의 예카테고리계승 를 게시합니다.
파생류 집행슈퍼 호출.
샘플은 명칭이 간단한 샘플이다.
클래스, 하위 클래스, 계승, 슈퍼 호출, 대상을 향하다에서 흔히 볼 수 있는 키워드.
두려울 거 없어요.
이 세상을 구성하는 모든 대상도 클래스, 자류, 계승에서 태어난다는 것을 알게 되면 세계감은 달라진다.
상대에 대한 생각을 익히면'이게 그 파생류인가'라는 대화를 나눌 수도 있다.

전제 조건


  • Visual Studio Code 설치됨

  • Node.js/npm 설치됨
  • git샘플 다운로드에서 모든 디렉터리로 압축 해제
  • OS는 Windows7/10
  • 으로 가정합니다.

    샘플 단순


    파생 클래스의 슈퍼 호출 예시.

    파일 구성


    경로
    파일 이름
    설명
    .
    animals.js
    animals.ts 컴파일에서 만든 JavaScript 파일
    .
    animals.js.map
    animals.ts에서 만든 맵 파일 컴파일하기
    .
    animals.ts
    동물류와 계승류의 유형 스크립트 파일
    .
    README.md
    이 예제의 설명과 사용 방법
    .
    tsconfig.json
    유형 스크립트 컴파일 프로필

    분류도



    류도는 뱀류와 말류가 모두 동물류로부터 식물과 동물의 다른'이동(move)'을 계승했다는 것을 설명한다.
    프로그램에서 동물류의 move () 를 슈퍼 호출합니다.

    실행

    cd .animals
    tsc --sourcemap animals.ts
    node animals.js
    

    결과



    뱀(Python)의 세미는 미끄럼을 통해 5m 이동한다
    말(Palomino)의 토미는 갤럽에서 45미터를 이동한다

    코드


    animals.ts

    class Animal {
        constructor(public name) { }
        move(meters) {
            console.log(this.name + " moved " + meters + "m.");
        }
    }
    
    class Snake extends Animal {
        move() {
            console.log("Slithering...");
            super.move(5);
        }
    }
    
    class Horse extends Animal {
        move() {
            console.log("Galloping...");
            super.move(45);
        }
    }
    
    var sam = new Snake("Sammy the Python")
    var tom: Animal = new Horse("Tommy the Palomino")
    
    sam.move()
    tom.move(34)
    
    
  • 동물류 구조 함수에서 자변수를 통해 이름 수신
  • 뱀류의move()메소드용 매개 변수5 동물류의move()메소드
  • 맛있는 무브() 메소드 파라미터 45 슈퍼 호출 동물급 무브() 메소드
  • tom.즉, 매개 변수를 사용하여 move(34)와 34를 지정합니다. 말 종류의move()는 매개 변수를 지정하지 않기 때문에 출력에 반영되지 않습니다
  • 득점


    파생류는 부류와extendssuper를 완전히 자신의 메소드로 사용한다.

    공책


    신이 되는 기분으로'인간(Human)'을 추가했다.
    이동 거리의 매개변수가 정의되었습니다.

    소스 수정


    animals.수정
    class Animal {
        constructor(public name) { }
        move(meters) {
            console.log(this.name + " moved " + meters + "m.");
        }
    }
    
    class Snake extends Animal {
        move() {
            console.log("Slithering...");
            super.move(5);
        }
    }
    
    class Horse extends Animal {
        move() {
            console.log("Galloping...");
            super.move(45);
        }
    }
    
    class Human extends Animal {
        move(meters) {
            console.log("Warlking...");
            super.move(meters);
        }
    }
    
    var sam = new Snake("Sammy the Python")
    var tom: Animal = new Horse("Tommy the Palomino")
    var poo: Animal = new Human("Pooshikin the Mankaind")
    
    sam.move()
    tom.move(34)
    poo.move(10)
    
    
    Slithering...
    Sammy the Python moved 5m.
    Galloping...
    Tommy the Palomino moved 45m.
    Warlking...
    Pooshikin the Mankaind moved 10m.
    

    총결산


    TypeScript의 가장 큰 성과는 인코딩 클래스를 위한 길을 닦았다는 것입니다.
    "젊은이야, 길은 열려 있어."
    우리 함께 열심히 반을 합시다.
    이상

    좋은 웹페이지 즐겨찾기