• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

TypeScript 素描 - 类

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文虽然是学自官方教程而来,但是也融入了自己的理解,而且对官方的例子做了一些修改

/*
 类 面向对象编程的一大核心
使用C#、Java进行编程的朋友肯定已经是不能够再熟悉了
TypeScript的类与C#的类有着很高的相似度,但也有着些许不同
*/


//构造函数不同,与类同名不再是构造函数而是方法
//构造函数则是constructor
class Animal {
    //构造函数
    constructor(public name: string) {
        this.name = name

    }
    //方法
    Animal() {
        console.log(`say hi ${this.name}`);
    }
}
let a1 = new Animal("小明");
a1.Animal();

//继承与C#中没有什么区别  使用extends关键字
//有则必须Super父类的构造函数
class Log extends Animal {
    constructor(public name: string, public age: number) {
        super(name);
        this.age = age;
    }
}
let l1 = new Log("旺财", 10);
//因为 log父类是Animal ,所以天生log就有Name字段与Animal方法
l1.Animal()

//修饰符 与C#类似一共有 private public protected readonly
//无需多言相信大家都懂得这是什么意思 
//有趣的是  TypeScript使用的是兼容性类型系统 ,当我们比较两种
//不同类型的时候,并不在乎它们从何而来,如果所有的成员类型都是
//兼容的,那它们就是相同的

/*
还有一个有趣的是,在上面的代码中我并没有写Name字段和Age字段,
构造函数中的参数加了修饰符 public 。这就是TypeScrpt中的参数属
性。name参数同样也是属性
*/


/* 
存取器  也就是Get;Set;  C#也叫做属性,用来控制字段的访问与设置
下面这个代码相信大家都可以看的懂是做什么
*/

class Employee {
    private _fullName: string;

    get fullName(): string {
        return this._fullName;
    }
    set fullName(name: string) {
        if (name == "xxxxx") {
            console.log("你这样做是不对的");
        } else {
            this._fullName = name;
        }
    }
}
let em = new Employee();
em.fullName;

/*
静态成员,嗯这也很容易理解的,它存在于类上而不是类的实例
*/
class Grid {
    static origin: string = "staticvalue";
}
Grid.origin;

/*
抽象类与抽象方法 abstract关键字 用过C#的朋友也一样知道这是什么,如果不
知道……就去面壁吧
*/
abstract class Animal2 {
    abstract makeSound(): void;
}

class Log2 extends Animal2 {
    makeSound(): void {
        console.log("我必须实现");
    }
}

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
TypeScript知识点发布时间:2022-07-18
下一篇:
TypeScript 变量声明(二)发布时间:2022-07-18
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap