ts--类:基本用法和修饰符(1) 笔记

153 阅读2分钟

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公有)