Classes

ОбъявлСниС

class Typescript {
    version: string
    
    constructor(version: string) {
        this.version = version
    }
    
    info(name: string) {
        return `[${name}]: Typescript version is ${this.version}`
    }
}

class Car {
    readonly model: string
    readonly numberOfWheels: number = 4
    
    constructor(theModel: string) {
        this.model = theModel
    }
}

// Π—Π°ΠΏΠΈΡΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ‡Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ
class Car {
    readonly numberOfWheels: number = 4
    constructor(readonly model: string) {}
}

ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ (protected, private, public)

class Animal {
    protected voice: string = ''    // protected β€” доступСн Π² классС Animal ΠΈ Π²ΠΎ всСх функциях классов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ класса Animal
    public color: string = 'black'  // public β€” ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ
    
    private go() {
        console.log('Go')
    }
}

АбстрактыС классы ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹

Они Π½ΠΈ Π²ΠΎ Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ, Π½ΠΎ Π½ΡƒΠΆΠ½Ρ‹ Π½Π° этапС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

abstract class Component {
    abstract render(): void
    abstract info(): string
}

class AppComponent extends Component {
    
    render(): void {
        console.log('Component is renderer')
    }

    info(): string {
        return 'some info'
    }
}

Last updated