class Person {
//Ts的类不能加访问修饰符
public age: number;//默认成员可见性就是public可以不加,以下省略
Sex: string = "male";//声明属性并且设置初始值 同Sex="male";(ts可省略类型注解,会自动推断)
constructor(age: number, Sex: string) {
//形参一定要提供类型注解,否则会被隐式指定any
this.age = age;
this.Sex = Sex;
}
Sum(a: number, b: number): number {
return a + b;
}
}
let p1 = new Person(12, "Female");
console.log(p1.age, p1.Sex);
console.log("Sum is:" + p1.Sum(2, 3));
//子类继承父类
class Animal {
Name: string;
}
class Dog extends Animal {
Bark(): void {
console.log("汪汪");
}
}
let d1 = new Dog();
d1.Name = "狗";
console.log(d1.Name);
d1.Bark();
interface Bird {
Bark(): void;
}
interface Move {
MoveMethod(): void;
}
//子类实现父类接口
class Eagle implements Bird, Move {
//子类可以实现多个父类接口
Bark() {
console.log("喳喳");
}
MoveMethod() {
console.log("i can fly");
}
}
//子类的对象实现父类接口
let b1 = new Eagle();
b1.Bark();
b1.MoveMethod();
//对象跳过类直接实现接口
let b2: Bird = {
Bark() {
console.log("喳喳喳喳(这是通过对象直接实现接口,没通过类)")
}
}
b2.Bark();
TS的类和接口使用
猜你喜欢
转载自blog.csdn.net/weixin_48251552/article/details/130002909
今日推荐
周排行