Abstract classes implement polymorphism and handle virtual methods through override and new.
Call the override method, determined by the inherited class (deep copy)
Call the new method, determined by the abstract class (shallow copy)
Abstract classes implement polymorphism and handle virtual methods through override and new.
Call the override method, determined by the inherited class (deep copy)
Call the new method, determined by the abstract class (shallow copy)