Scala中的抽象类型与泛型

Scala抽象类型与泛型

抽象类型

抽象类型具有抽象成员,即其成员没有定义或值。特性和抽象类是抽象类型变量。

例如,

    trait  trai { 
        type T
        val variable : T
    }

泛型

泛型类是具有类或其他类型作为参数的那些类。

    class division[d]{
	    def division(u:z, v:z):z =>{
		    z=u/v;
	    }
    }
    // Here, division is a generic that accept type z values

抽象类型和泛型之间的区别

Scala中抽象类型和泛型之间的一些区别...

  • 在实现中或在Scala程序中扩展的抽象类型,而泛型则将类类型作为参数。

  • 在抽象类型方法中没有定义,而泛型使用定义并使用其他类型。

  • 抽象类型使用“ has-a”关系,泛型使用“ of”关系。

  • Baleno是一种抽象类型的例子,它是一辆汽车
    泛型类型的示例,maps数组

在Scala中,抽象类或特征可以是抽象类型,抽象类或简单类可以接受任何泛型类型。

一个类既可以是抽象的,也可以是泛型的,因为这两个概念可以一起工作,也可以单独工作。您可以创建一个泛型的和抽象的Scala类,如下所示:

    abstract class product[x] {
	    def product(a:x , b:x ): x 
    }

此类的方法没有定义,这意味着它是抽象的,并且该类使用类型为x的数据,这意味着它是泛型的。