初步接触TypeScript,总结与C++的某些区别

/

因为博主比较常用C++,所以总结的是和C++的不同;

(大概总结一下当自己的笔记吧,应该没啥人看)>_<.

也是一些比较常见问题

评论区有速通版。

1.类的不同

        感受最直观的就是C++常用的类的不同,在刚学习TS的时候,觉得这个就是小儿科,和C++差不多,也就是一些关键字和关键字的位置不同的区别,然后就粗心大意了。

在复习TS时写出来了如下的代码:

e4e1a1e7965f4f9c82996264af822a69.jpeg

因为常写C++,一时半会没有反应过来,我写了这个类的啊,这个类里面也没有报错啊,怎么声明变量时出现错误了???

这跳过新手教程,粗心大意,被村口小怪给干掉的感觉。

1.TS中,类变量的声明需要用到new 关键字 ,相当于在C++中动态分配了内存:

let dog=new Dog(name:string,old:number,bark:string);

修改之后一下子就解决了。但这只是类当中的一个小点。

还有如下区别:

权限的不同,接口的不同等等

2.权限的不同:

在C++当中,给类的各个成员标明权限的时候,只需要在一些相同权限的成员前面加上即可,如果需要修改,在在对于位置添加对应权限的关键字即可。

但是在TS中,没有protected,也需要在每一条需要修改的权限前面添加。

个人感觉这个TS比不上C++,但是在TS中,也只有少量的成员需要确定权限吧(小白没写多少代码,如果有错误欢迎评论区指出)。

3.接口的不同

在C++当中接口以虚基类的方式出现在语法当中,在使用时需要将虚函数实现,作用是规范书写的同时提供一些便利,(比如少写一句声明什么的)。

但TS当中感觉,这个接口的作用好像就只有规范。。。。。。不对,方便了我们使用C,V大法。

(😂);

下面是C++当中虚基类以及实现和TS的区别(写到这里顺便复习了一下C++的抽象类很不错):

interface test{
    name:string;
    old:number;  
};

class Cat implements test{
    name:string;
    old:number;
    bark:string
    constructor(name:string,old:number,bark:string){
        this.name=name;
        this.old=old;
        this.bark=bark;
    }
};

let cat=new Cat("云云",1,"喵~~~~~~");

console.log(cat);

现在现总结这么多,后面遇到什么问题就继续补充这文章。

(主要是今天太晚了。。。。)

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值