Esto es debido a que le hemos indicado al sistema que el método method_1 es un método virtual, lo cual significa que si es redefinido en una clase hija, será esa nueva versión la se ejecutará siempre en instancias de esa clase hija, independientemente del tipo y conocimientos de la instancia que lo ejecute.