class C { y: string; constructor(private x: string, protected z: string) { } } var c: C; var r = c.y; var r2 = c.x; // error var r3 = c.z; // error class D { y: T; constructor(a: T, private x: T, protected z: T) { } } var d: D; var r = d.y; var r2 = d.x; // error var r3 = d.a; // error var r4 = d.z; // error