// ts中的类
// class Person {
// public name: string // 属性
// constructor(n: string) { // 实例化类的时候,触发的方法
// this.name = n
// }
// run() {
// alert(this.name)
// }
// getName(): string {
// return this.name
// }
// setName(name: string): void {
// this.name = name
// }
// }
// // 实例化
// var p = new Person('zhangsan')
// p.run()
// p.getName()
// p.setName('lisi')
// p.getName()
// ts中实现类 super extends
class Person {
name: string; //属性 前面省略了public关键词
constructor(name: string) { //构造函数 实例化类的时候触发的方法
this.name = name;
}
run(): string {
return `${this.name}在运动`
}
}
// var p = new Person('张三');
// p.run()
class Web extends Person {
constructor(name: string) {
super(name) // 初始化父类的构造函数
}
work() {
console.log(`${this.name}在工作`)
}
run(): string {
return `${this.name}在运动--子类`
}
}
var li = new Web('lisi')
// 传入lisi,构造函数,执行父方法,也可执行子方法
alert(li.run())
// li.work()
tsc ts03.ts编译一下
// ts中的类
// class Person {
// public name: string // 属性
// constructor(n: string) { // 实例化类的时候,触发的方法
// this.name = n
// }
// run() {
// alert(this.name)
// }
// getName(): string {
// return this.name
// }
// setName(name: string): void {
// this.name = name
// }
// }
// // 实例化
// var p = new Person('zhangsan')
// p.run()
// p.getName()
// p.setName('lisi')
// p.getName()
// ts中实现类 super extends
// class Person {
// name: string; //属性 前面省略了public关键词
// constructor(name: string) { //构造函数 实例化类的时候触发的方法
// this.name = name;
// }
// run(): string {
// return `${this.name}在运动`
// }
// }
// // var p = new Person('张三');
// // p.run()
// class Web extends Person {
// constructor(name: string) {
// super(name) // 初始化父类的构造函数
// }
// work() {
// console.log(`${this.name}在工作`)
// }
// run(): string {
// return `${this.name}在运动--子类`
// }
// }
// var li = new Web('lisi')
// 传入lisi,构造函数,执行父方法,也可执行子方法
// alert(li.run())
// li.work()
// 3 类里面的修饰符 typescript里面定义属性的时候给我们提供了 三种修饰符
/*
public :公有 在当前类里面、 子类 、类外面都可以访问
protected:保护类型 在当前类里面、子类里面可以访问 ,在类外部没法访问
private :私有 在当前类里面可以访问,子类、类外部都没法访问
属性如果不加修饰符 默认就是 公有 (public)
*/
//public :公有 在类里面、 子类 、类外面都可以访问
// class Person {
// public name: string; /*公有属性*/
// constructor(name: string) {
// this.name = name;
// }
// run(): string {
// return `${this.name}在运动`
// }
// }
// // var p=new Person('王五');
// // alert(p.run())
// class Web extends Person {
// constructor(name: string) {
// super(name); /*初始化父类的构造函数*/
// }
// run(): string {
// return `${this.name}在运动-子类`
// }
// work() {
// alert(`${this.name}在工作`)
// }
// }
// var w = new Web('李四');
// w.work();
//类外部访问公有属性
// class Person {
// public name: string; /*公有属性*/
// constructor(name: string) {
// this.name = name;
// }
// run(): string {
// return `${this.name}在运动`
// }
// }
// var p = new Person('哈哈哈');
// alert(p.name);
//protected:保护类型 在类里面、子类里面可以访问 ,在类外部没法访问
// class Person {
// protected name: string; /*公有属性*/
// constructor(name: string) {
// this.name = name;
// }
// run(): string {
// return `${this.name}在运动`
// }
// }
// var p = new Person('王五');
// alert(p.run())
// class Web extends Person {
// constructor(name: string) {
// super(name); /*初始化父类的构造函数*/
// }
// work() {
// alert(`${this.name}在工作==子类`)
// }
// }
// var w = new Web('李四11');
// w.work();
// alert(w.run());
//类外部没法访问保护类型的属性
// class Person {
// protected name: string; /*保护类型*/
// constructor(name: string) {
// this.name = name;
// }
// run(): string {
// return `${this.name}在运动`
// }
// }
// var p = new Person('哈哈哈');
// alert(p.name);
// private :私有 在类里面可以访问,子类、类外部都没法访问
// class Person {
// private name: string; /*私有*/
// constructor(name: string) {
// this.name = name;
// }
// run(): string {
// return `${this.name}在运动`
// }
// }
// class Web extends Person {
// constructor(name: string) {
// super(name)
// }
// work() {
// console.log(`${this.name}在工作`)
// }
// }
class Person {
private name: string; /*私有*/
constructor(name: string) {
this.name = name;
}
run(): string {
return `${this.name}在运动`
}
}
var p = new Person('哈哈哈');
alert(p.run());