zoukankan      html  css  js  c++  java
  • 让你彻底理解Typescript中静态成员和抽象方法

    1.Typescript中static详解

    静态成员:在类中通过 static 修饰的属性或者方法
    那么就是静态的属性静态方法
    也称之为:静态成员(静态成员包含静态属性和静态方法)
    静态成员在使用的时候通过【类名.静态属性】来访问
    

    2.访问和修改static静态成员的小栗子

    class Person{
        // 类中默认有一个内置name属性
        // 静态属性myname
        static myname:string='小可爱'
        sayHi() {
            console.log('sayHi')
        }
    }
    const per = new Person();
    // 访问类中的静态属性
    console.log(Person.myname);
    // 修改类中的静态属性
    Person.myname = '大可爱'
    console.log(Person.myname);
    //输出[大可爱]
    

    3.抽象方法

    抽象类中包含抽象方法:(抽象方法一般【没有任何具体内容】的实现)
    抽象类中也可以包含实例方法
    抽象类是不能够被实例化
    抽象类可以让子类进行实例化以及实现内部所有的抽象方法
    抽象类中也可以有抽象属性
    {但是在实际开发过程中抽象类中一班不会有抽象属性}
    我们知道了抽象类中可以包含:抽象属性  抽象方法  实例方法
    ps:子类继承了抽象类,子类就必须实现抽象类中的抽象方法
    

    4.写抽象类的注意点

    abstract class Animals{
        // 这样写法是错误的,
        // 因为抽象方法一般没有任何具体内容的实现
        // abstract eat (){
        //     console.log('跑着吃,跳着吃')
        // }
        abstract eat()
    }
    // 这样的写法是错误的。
    // 因为:抽象类不能够被实例化
    // let dog=new Animals()
    

    5.抽象类

    abstract class Animals{
        // 这样写法是错误的,
        // 因为抽象方法一般没有任何具体内容的实现
        // abstract eat (){
        //     console.log('跑着吃,跳着吃')
        // }
        abstract eat()
        abstract sleep();
        // 抽象类中的抽象属性
        abstract myname: string
        // 抽象方法也可以包含实例方法
        say() {
            console.log('你好啊')
        }
    }
    // 子类继承了抽象类,子类就必须实现抽象类中的抽象方法
    class Dog extends Animals {
        // 重新实现抽象类中的抽象方法
        eat() {
            console.log('我是狗,趴着吃')
        }
        // 重新实现抽象类中的抽象方法
        sleep() {
            console.log('我是狗,趴着睡')
        }
        // 实现抽象属性
        myname: string="狗子"
    }
    // 实例化
    let xiaohei = new Dog();
    
    // 直接调用方法
    xiaohei.eat();//我是狗,趴着吃
    
    // 调用的是抽象类中的实例方法
    xiaohei.say();//你好啊
    
    // 修改类中的属性
    xiaohei.myname = '小黄狗'
    console.log(xiaohei)
    // 输出 Dog { myname: '小黄狗' }
    
    作者:明月人倚楼
    出处:https://www.cnblogs.com/IwishIcould/

    想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!

    如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,或者关注博主,在此感谢!

    万水千山总是情,打赏5毛买辣条行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主(っ•̀ω•́)っ✎⁾⁾!

    想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!

    支付宝
    微信
    本文版权归作者所有,欢迎转载,未经作者同意须保留此段声明,在文章页面明显位置给出原文连接
    如果文中有什么错误,欢迎指出。以免更多的人被误导。
  • 相关阅读:
    SQL 递归查询(根据指定的节点向上获取所有父节点,向下获取所有子节点)
    限流脚本
    使用DANT做FTP的转发代理
    忘记token怎么加入k8s集群
    CentOS7.x使用overlay2文件系统
    文件已删除但句柄没有释放导致磁盘空间用完
    多线程学习(一)什么是多线程?
    自己用过的web软件tools软件以及玩过的游戏
    day1 学习历程
    git合并请求
  • 原文地址:https://www.cnblogs.com/IwishIcould/p/15023013.html
Copyright © 2011-2022 走看看