zoukankan      html  css  js  c++  java
  • [TypeScript] Creating a Class in TypeScript

    Typescript classes make traditional object oriented programming easier to read and write. In this lesson we learn about class syntax, what the constructor is and some interesting variable features.

    interface Opponent {
        health: number;
        alias: string;
    }
    
    class ComicBookCharacter {
    
        private team: {
            name: string;
            members: ComicBookCharacter[]
        };
    
        static createAndAssignTeam(teamName: string, members: ComicBookCharacter[]) {
            let team = {
                name: teamName,
                members: members
            };
    
            members.forEach((member)=>{
                member.team = team;
            })
        }
    
        constructor(public alias: string,
                    public health: number,
                    public strength: number,
                    private secretIdentity: string) {
    
        }
    
        getTeamName(){
            console.log(`${this.alias} is from ${this.team.name}`);
            return this.team.name;
        }
    
        attackFunc(opponent: Opponent, attackWith) {
            opponent.health -= attackWith;
            console.log(`${this.alias} attacked ${opponent.alias}, who's health = ${opponent.health}`);
            return opponent.health;
        }
    
        getSecretIdentity() {
            if (this.secretIdentity) {
                console.log(`${this.alias} is ${this.secretIdentity}`);
            } else {
                console.log(`${this.alias} has no secret identity`);
            }
        }
    }
    
    const Sparky = new ComicBookCharacter("Sparky", 6700, 3000, "Thunder");
    const Rainer = new ComicBookCharacter("Rainer", 7500, 3400, "Water");
    
    
    ComicBookCharacter.createAndAssignTeam('Eevee', [Sparky,Rainer]);
    Sparky.getTeamName();

    To review, we've learned about access modifiers and the difference between public and private. The constructor is run when the classinstance is initialized, and the shorthand for setting class properties allows us to write less code. We've learned that static properties can only be referenced from the class, not the instance, and how staticproperties have access to an instances private properties.

  • 相关阅读:
    Oracle使用笔记
    跳转至锚点
    项目中使用到的AOP
    短信验证码接口使用
    阿里人脸识别接口
    java实现网页截图
    java后台接收微信服务号/订阅号消息
    java 实现redis缓存
    redis 常用命令
    被骗了,自己还不知道
  • 原文地址:https://www.cnblogs.com/Answer1215/p/5958286.html
Copyright © 2011-2022 走看看