1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
| (function () {
class Property { private _age: number; public _public: string = 'public' protected _protect: string = 'protect'
constructor(age: number) { this._age = age }
get age() { return this._age }
set age(n: number) { if (!n) return this._age = n } }
let pete = new Property(1) pete.age = 10
class Encapsulate extends Property { get_public() { return this._public }
get protected() { return this._protect }
}
let encapsulate = new Encapsulate(1) console.log(encapsulate._public, '子类实例访问父类公共属性') console.log(encapsulate.age, '子类实例可以访问父类私有属性') console.log(encapsulate.protected)
class Sample { constructor(public t: string) { } } let s = new Sample('test') console.log(s.t) })()
|