ts中类 创建类
class Person{
name:string;
age:number;
constructor(n:string,m:number){
this.name = n;// 这个位置,接收的参数要跟赋值的参数是一个类型
this.age = age;
}
run(){
console.log(this.name,this.age)
}
}
let per = new Person("小白",200)
per.run()//打印结果 小白 200
//一个简单的例子
ts中怎样实现继承
关键之 extends 、 super
class Person{
//name:string;
constructor(){
//constructor(name:string){
//这边举例 构造函数不接受参数情况下
// this.name = name; 有参数的情况下
}
getInfo(name:string):string{
return '这个人的名字叫'+name
}
}
calss Web extends Person{//extends关键字
construtor(){
//constructor(name:string)
super()//这个位置 传参是被继承的构造函数的参数
//super(name); 传进构造函数的参数
}
}
//let u = new Web('传进构造函数的参数');//有参数传进去的写法
let u = new Web();//没有参数传进去的写法
u.getInfo("小白呀")// 打印结果: 这个人的名字叫小白呀
注:如果子类父类有同样名称的方法,那么子类的实例会先在子类里面找,也就是先执行自己prototype里面的函数,找不到才会向上、向父类里面寻找;
类 修饰符 三种
//个人理解 修饰符表示规定当前类的作用域
基本语法
放在属性或方法的前面的的一个关键字
class Person{
public name:string;
}
一、public
表示公有 类内部、子类、类外面 都可以访问
(任何地方都可以调用)
二、protected
保护类型 子类中可以访问、外部不允许访问
(不能子类new出来之后调用,只能自己调用)
三、private
私有 类里面可以访问,子类、类外面都不可以访问
(只能自己用,任何地方都不可以用,自己的实例new出来的也不行!!)
注:如果不加修饰符 默认public公有)