温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

typescript 类 -- 学习笔记三

发布时间:2020-06-17 09:38:29 来源:网络 阅读:266 作者:295631788 栏目:web开发

typescript 类 -- 学习笔记三

class Point {
    public x: number
    public y: number
    constructor(x: number, y: number) {
        this.x = x
        this.y = y
    }
    public getPosition() {
        return `${this.x} ${this.y}`
    }
}

const point = new Point(1, 2)

class Parent {
    public name: string
    constructor(name: string) {
        this.name = name
    }
}

class Child extends Parent {
    constructor(name: string) {
        super(name)
    }
}

// public 公共

// private 私有的

// protected 受保护

class Parent1 {
    // private age: number
    protected age: number
    protected constructor(age: number) {
        this.age = age
    }
    protected getAge() {
        return this.age
    }
}

class Child1 extends Parent1 {
    constructor(age: number) {
        super(age)
    }
}

// readonly
class UserInfo {
    public readonly name: string
    constructor(name: string) {
        this.name = name
    }
}

class A {
    constructor(public name: string) {}
}

class Parent3 {
    public static getAge() {
        return Parent3.age
    }
    private static age: number = 18
    constructor() {}
}

class Info {
    public name: string
    public age?: number
    private _infoStr: string
    constructor(name: string, age?: number, public sex?: string) {
        this.name = name
        this.age = age
    }
    get infoStr() {
        return this._infoStr
    }
    set infoStr(value) {
        // console.log(`setter: ${value}`)
        this._infoStr = value
    }
}

// 抽象类,abstract 类不能创建的实例对象。
abstract class People {
    constructor(public name: string) {}
    public abstract printName(): void
}

class Man extends People {
    constructor(name: string) {
        super(name)
        this.name = name
    }
    public printName() {
        console.log(this.name)
    }
}
const m = new Man('lison')
m.printName()

abstract class People1 {
    public abstract _name: string
    abstract get insideName(): string
    abstract set insideName(value: string)
}
class P extends People1 {
    public _name: string
    public insideName: string
}

class People3 {
    constructor(public name: string) {}
}
let p2: People3 = new People3('lison')
class Animal {
    constructor(public name: string) {}
}
p2 = new Animal('haha')

// 接口
interface FoodInterface {
    type: string
}
class FoodClass implements FoodInterface {
    public type: string
}

class A1 {
    protected name: string
}
interface I extends A1 {}

class B extends A1 implements I {
    public name: string
}

const create = <T>(c: new() => T): T => {
    return new c()
}
class Infos {
    public age: number
    constructor() {
        this.age = 18
    }
}
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI