When subclassing the generic type we can keep the generic type.
class Shape{
}
class Rectangle:Shape{
}
Or we can close the generic type by replacing the generic type with a concrete type.
class Shape
{
}
class Rectangle : Shape
{
}
Or we can add more generic parameters.
class Shape{
}
class Rectangle:Shape{
}