Yes it will. Abstract (virtual) classes can contain as many variables, functions and tasks as you like. But they cannot be created directly, they have to be created by using a derived class.
Its quite common to have an abstract base class to define specific behaviour. look at the below example
Code:
virtual class shape;
integer n_sides;
endclass : shape
class square extends shape;
function new;
super.n_sides = 4;
endfunction : new
enclass : square;
.......
square x;
x = new;
$display("%d", x.n_sides);