• 让你彻底理解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毛买辣条行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主(っ•̀ω•́)っ✎⁾⁾!

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

    支付宝
    微信
    本文版权归作者所有,欢迎转载,未经作者同意须保留此段声明,在文章页面明显位置给出原文连接
    如果文中有什么错误,欢迎指出。以免更多的人被误导。
  • 相关阅读:
    电脑知识
    编译器错误信息: CS0433: 类型“ASP.global_asax”同时存在于“c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727...的解决方法
    windows平台下的oracle ORA-01031的解决方法
    .NET下使用HTTP请求的正确姿势
    EasyUI Datagrid 分页
    Js 运算符(加减乘除)
    Navicat 运行 Oracle 存储过程示例
    oracle数据库忘记sys(或system)账户密码
    SQL Server 死锁问题
    C# 给某个方法设定执行超时时间
  • 原文地址:https://www.cnblogs.com/IwishIcould/p/15023013.html
Copyright © 2020-2023  润新知