使用Typescript(Angular 5)中的类vs接口与Java和C#进行对象创建

前端之家收集整理的这篇文章主要介绍了使用Typescript(Angular 5)中的类vs接口与Java和C#进行对象创建前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想了解使用接口vs类来创建角度为2的模型.当我们用 Java或C#创建模型时,我们使用模型类来表示在我们的应用程序中传递的数据模型,因此强类型化.
//C#
public class Movie 
{
   public int ID { get; set; }
   public string Title { get; set; }
   public DateTime ReleaseDate { get; set; }
   public string Genre { get; set; }
   public decimal Price { get; set; }
}

大多数时候,我们将根据我们的要求坚持使用这种模型将数据绑定到数据库.

我看到使用相同方法的示例和教程.

//Java
public class Movie
{
   public int ID;
   public String Title;
   public Date ReleaseDate;
   public String Genre;
   public float Price;
}

然后,我开始使用angular和typescript进行Web开发.我发现有些人喜欢使用界面来表示他们的模型而其他人喜欢坚持使用类.

//Class
export class Movie {
    public string id;
    public string title;
    public Date ReleaseDate;
    public string Genre;
    public number
}
//Interface
export interface Movie {
    public string id;
    public string title;
    public Date ReleaseDate;
    public string Genre;
    public number
}

但是,当涉及到创建和使用模型时,它看起来与我一样.

//declare
let movie = new Movie();
movie: Movie = new Movie();
movies: Movie[];
amovie: Movie;
//reactive
obsMovies: Observable<Movie[]>;
obsAMovie: Observable<Movie>;

我想知道在打字稿中使用接口或类时有什么区别.我对接口的理解只是对共享函数的类的契约,而类可以是任何可以想象的东西.

Typescript中的类更像是Java和C#中的类.他们实际上正在编译成JavaScript原型.

接口只是编译时的事情.它们仅供编译器强制静态输入.在编译的代码中,您不会从Typescript-Interfaces中看到任何内容.

由于模型通常仅用于定义数据结构,因此我使用了模型的Typescipt-Interfaces.

猜你在找的Angularjs相关文章